Pagini recente » Cod sursa (job #1031485) | Cod sursa (job #1657187) | Cod sursa (job #2947668) | Cod sursa (job #1493330) | Cod sursa (job #48912)
Cod sursa(job #48912)
#include<stdio.h>
FILE *f=fopen("flip.in","r"), *g=fopen("flip.out","w");
int n,m,a[16][16];
long smax;
long sumac(int c) {
long s=0;
for(int i=0;i<n;i++) s+=a[i][c];
return s;
}
long suma() {
long s=0;
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
s+=a[i][j];
return s;
}
void schimbac(int j) {
for(int i=0;i<n;i++) a[i][j]=-a[i][j];
}
void schimbal(int i) {
for(int j=0;j<m;j++) a[i][j]=-a[i][j];
}
void coloane() {
for(int j=0;j<m;j++)
if(sumac(j)<0) schimbac(j);
}
void gen(int i) {
for(int k=1;k<=2;k++) {
if(k==2) schimbal(i);
coloane();
if(smax<suma()) smax=suma();
if(i<n-1) gen(i+1);
}
}
int main() {
fscanf(f,"%d %d",&n,&m);
for(int i=0;i<n;i++)
for(int j=0;j<m;j++) {
fscanf(f,"%d",&a[i][j]);
smax+=a[i][j];
}
gen(0);
fprintf(g,"%ld",smax);
fclose(f);
fclose(g);
return 0;
}