Pagini recente » Cod sursa (job #1854407) | Cod sursa (job #1382748) | Cod sursa (job #735590) | Cod sursa (job #1345894) | Cod sursa (job #1388177)
#include<stdio.h>
#define MAXN 18
FILE *f=fopen("flip.in","r"), *g=fopen("flip.out","w");
long int N, M, a[MAXN][MAXN], Smax = 0;
bool v[MAXN];
void Citire(){
long int i, j;
fscanf(f,"%ld %ld\n",&N,&M);
for(i=1;i<=N;i++)
for(j=1;j<=M;j++)
fscanf(f,"%ld",&a[i][j]);
}
void Verificare(){
long int SumaT, SumaP, i, j;
SumaT = 0;
for(j=1;j<=M;j++){
SumaP = 0;
for(i=1;i<=N;i++){
if( v[i] == 0 ) SumaP += a[i][j];
else SumaP -= a[i][j];
}
if( SumaP < 0 ) SumaP = 0-SumaP;
SumaT += SumaP;
}
if( Smax < SumaT ) Smax = SumaT;
}
void Back( long int k ){
if( k > N ) Verificare();
else
for(int i=0;i<=1;i++){
v[k]=i; Back(k+1);
}
}
int main(){
Citire();
Back(1);
fprintf(g,"%ld\n",Smax);
return 0;
}