Pagini recente » Cod sursa (job #597666) | Cod sursa (job #2032726) | Cod sursa (job #1382724) | Cod sursa (job #2305399) | Cod sursa (job #532207)
Cod sursa(job #532207)
#include<stdio.h>
FILE *f=fopen("flip.in", "r");
FILE *g=fopen("flip.out", "w");
int v[17], a[17][17], b[17][17];
int s,sfinal,stotal,i,j,n,m,k,max ;
int main () {
fscanf(f, "%d %d", &n, &m);
for (i=1;i<=n;i++){
for(j=1;j<=m;j++){
fscanf(f, "%d",& a[i][j]);
}
}
for (i=1;i<=m;i++){
v[i]=0;
}
for (i=1;i<=n;i++){
s=0;
for (j=1;j<=m;j++){
s=s+a[i][j];
}
if (s<0){
sfinal=-s;
}
else {
sfinal=s;
}
stotal=stotal+sfinal;
}
max=stotal;
while (v[0]!=1){
k=m;
while (v[k]==1){
v[k]=0;
k--;
}
v[k]=1;
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
b[i][j]=a[i][j];
}
}
for (j=1;j<=m;j++){
if(v[j]==1){
for(i=1;i<=n;i++){
b[i][j]=-b[i][j];
}
}
}
stotal=sfinal=s=0;
for(i=1;i<=n;i++){
s=0;
for(j=1;j<=m;j++){
s=b[i][j]+s;
}
if (s<0){
sfinal=-s;
}
else{
sfinal=s;
}
stotal=stotal+sfinal;
}
if (stotal>max){
max=stotal;
}
}
fprintf(g,"%d" ,max);
fclose(f);
fclose(g);
return 0;
}