Pagini recente » Cod sursa (job #433056) | Cod sursa (job #2912464) | Cod sursa (job #1260648) | Rating Andrei (pituioan) | Cod sursa (job #8406)
Cod sursa(job #8406)
#include<stdio.h>
FILE *f=fopen("flip.in","r"), *g=fopen("flip.out","w");
int n,m,v[16][16],i,j;
long smax=0;
void flipr(int a) {
for(int x=0;x<m;x++) v[a][x]=-v[a][x];
}
void flipc(int b) {
for(int y=0;y<n;y++) v[y][b]=-v[y][b];
}
int sumar(int x) {
int s=0;
for(int a=0;a<m;a++) s+=v[x][a];
return s;
}
int difr(int x) {
int s=0;
for(int a=0;a<m;a++) s-=v[x][a];
return s;
}
int sumac(int y) {
int s=0;
for(int b=0;b<n;b++) s+=v[b][y];
return s;
}
int difc(int y) {
int s=0;
for(int b=0;b<n;b++) s-=v[b][y];
return s;
}
int main() {
fscanf(f,"%d",&n);
fscanf(f,"%d",&m);
for(i=0;i<n;i++)
for(j=0;j<m;j++)
fscanf(f,"%d",&v[i][j]);
i=j=0;
while(i<n && j<m) {
if(sumar(i)<0) { flipr(i); i=j=0; }
else i++;
if(sumac(j)<0) { flipc(j); i=j=0; }
else j++;
}
for(i=0;i<n;i++)
for(j=0;j<m;j++)
smax+=v[i][j];
fprintf(g,"%li",smax);
fclose(f);
fclose(g);
return 0;
}