Pagini recente » Cod sursa (job #1760962) | Cod sursa (job #2509439) | Cod sursa (job #2764028) | Cod sursa (job #2548200) | Cod sursa (job #1672634)
#include <iostream>
#include <fstream>
#define NMMAX 17
using namespace std;
ifstream in("flip.in");
ofstream out("flip.out");
int n, m, a[NMMAX][NMMAX], c;
long s;
bool validCol(int x){
int s1=0, s2=0, i, ac;
for(i=1; i<=n; i++){
s1+=a[i][x];
ac=a[i][x]-2*a[i][x];
s2+=ac;
}
if(s2>s1)return true;
return false;
}
bool validRand(int x){
int s1=0, s2=0, i, ac;
for(i=1; i<=m; i++){
s1+=a[x][i];
ac=a[x][i]-2*a[x][i];
s2+=ac;
}
if(s2>s1)return true;
return false;
}
int bruteforce_handicapat(){
for(int i=1; i<=n; i++){
if(validRand(i)){
for(int j=1; j<=m; j++){
c=a[i][j];
a[i][j]-=2*c;
}
}
}
for(int i=1; i<=m; i++){
if(validCol(i)){
for(int j=1; j<=n; j++){
c=a[j][i];
a[j][i]-=2*c;
}
}
}
s=0;
for(int i=1; i<=n; i++){
for(int j=1; j<=m; j++){
s+=a[i][j];
}
}
return s;
}
int main(){
in>>n>>m;
int i, j;
for(i=1; i<=n; i++){
for(j=1; j<=m; j++){
in>>a[i][j];
}
}
int y=bruteforce_handicapat();
out<<y;
return 0;
}