Pagini recente » Cod sursa (job #1754112) | Istoria paginii runda/oni_gim2016/clasament | Cod sursa (job #658321) | Cod sursa (job #1377916) | Cod sursa (job #1167668)
#include<cstdio>
#include<cstring>
int n,m,i,j,x[50][50],y[50][50],v[50],s,smax,l;
FILE *f,*g;
int main(){
f=fopen("flip.in","r");
g=fopen("flip.out","w");
fscanf(f,"%d%d",&n,&m);
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
fscanf(f,"%d",&x[i][j]);
s+=x[i][j];
}
}
smax=s;
memcpy(y,x,sizeof(x));
while(v[0]==0){
i=m;
while(i!=0&&v[i]==1){
v[i]=0;
i--;
}
v[i]=1;
for(i=1;i<=m;i++){
if(v[i]==1){
for(j=1;j<=n;j++){
x[j][i]*=-1;
}
}
}
for(i=1;i<=n;i++){
l=0;
for(j=1;j<=m;j++){
l+=x[i][j];
}
if(l<0){
for(j=1;j<=m;j++){
x[i][j]*=-1;
}
}
}
s=0;
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
s+=x[i][j];
}
}
if(s>smax)
smax=s;
memcpy(x,y,sizeof(y));
}
fprintf(g,"%d\n",smax);
fclose(f);
fclose(g);
return 0;
}