Pagini recente » Cod sursa (job #845925) | Cod sursa (job #78538) | Cod sursa (job #2695898) | Cod sursa (job #1662054) | Cod sursa (job #387330)
Cod sursa(job #387330)
#include<stdio.h>
int n,i,j,k,m, a[18][18], v[18*18], b[18][18],max,s,suma;
int main(){
FILE * f= fopen("flip.in","r");
FILE * 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" ,&a[i][j]);
}
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];
//formam matricea b egala cu a
for(i=1; i<=m; i++)
if (v[i]==1)
for(j=1; j<=n; j++)
b[j][i]=-a[j][i];
//interschimbam coloanele care au v[i]=1
suma=0;
for (i=1;i<=n;i++){
//calculam suma pe fiecare coloana si verificam daca este mai mare decat 0
s=0;
for (j=1; j<=m;j++)
s+=b[i][j];
if (s<0)
s=-s;
suma+=s;
}
if (suma>max)
max=suma;
}
fprintf(g,"%d", max);
fclose(f);
fclose(g);
return 0;
}