Pagini recente » Cod sursa (job #419508) | Cod sursa (job #1595777) | Cod sursa (job #2777742) | Cod sursa (job #598251) | Cod sursa (job #1603239)
#include <stdio.h>
#include <stdlib.h>
short n,m; bool gasit;
long max=0,a[16][16],line[16],col[16];
int main(){
FILE*f=fopen("flip.in","r");
FILE*g=fopen("flip.out","w");
fscanf(f,"%hd %hd",&n,&m);
for(short i=0;i<n;i++){
for(short j=0;j<m;j++){
fscanf(f,"%ld",&a[i][j]);
line[i]+=a[i][j];
col[j]+=a[i][j];
}
max+=line[i];
}
do{
gasit=0;
for(short i=0;i<m;i++)
if(max-2*col[i]>max){
max-=2*col[i];
col[i]*=-1;
gasit=1;
for(short j=0;j<n;j++){
line[j]-=a[j][i];
a[j][i]*=-1;
line[j]+=a[j][i];
}
}
for(short i=0;i<n;i++)
if(max-2*line[i]>max){
max-=2*line[i];
line[i]*=-1;
gasit=1;
for(short j=0;j<m;j++){
col[j]-=a[i][j];
a[i][j]*=-1;
col[j]+=a[i][j];
}
}
}while(gasit);
fprintf(g,"%ld",max);
fclose(f);
fclose(g);
return 0;
}