Pagini recente » Cod sursa (job #303924) | Cod sursa (job #1229156) | Cod sursa (job #2122238) | Cod sursa (job #2692466) | Cod sursa (job #1706842)
#include <stdio.h>
#include <stdlib.h>
#define MAXN 16
int v[MAXN][MAXN], n, m;
int main(){
FILE*fi,*fo;
fi=fopen("flip.in","r");
fo=fopen("flip.out","w");
fscanf(fi,"%d%d", &n, &m);
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
fscanf(fi,"%d", &v[i][j]);
long long config=0, max=-1000000000000000;
while(config<2<<(n+m+1)){
long long sum=0LL;
for(int i=0;i<n;i++)
for(int j=0;j<m;j++){
if(((config>>i)%2+(config>>(n+j))%2)%2==0)
sum=sum+1LL*v[i][j];
else
sum=sum-1LL*v[i][j];
//printf("%d %d %lld %lld\n", i, j, ((config>>i)%2+(config>>(n+j))%2)%2, sum);
}
if(sum>max)
max=sum;
//printf("%lld %lld\n", config, sum);
config++;
}
fprintf(fo,"%lld", max);
fclose(fi);
fclose(fo);
return 0;
}