Pagini recente » Cod sursa (job #570329) | Cod sursa (job #1387900) | Cod sursa (job #1765562) | Cod sursa (job #3036631) | Cod sursa (job #773492)
Cod sursa(job #773492)
#include<stdio.h>
FILE *fin=fopen("flip.in", "r");
FILE *fout=fopen("flip.out", "w");
int n,m,i,j;
int suma,sumamax;
int a[20][20], v[20];
void calcul(){
suma=0;
int aux[20];
for (i=1; i<=m; i++)
aux[i]=0;
for (i=1; i<=n; i++)
for (j=1; j<=m; j++)
aux[j]+=a[i][j]*v[i];
for (i=1; i<=m; i++)
if (aux[i]<0)
suma+=aux[i]*(-1);
else
suma+=aux[i];
if (suma>sumamax)
sumamax=suma;
}
void bkt(int k){
if (k==n+1)
calcul();
else
{
v[k]=-1;
bkt(k+1);
v[k]=1;
bkt(k+1);
}
}
int main(){
fscanf(fin, "%d", &n);
fscanf(fin, "%d", &m);
for (i=1; i<=n; i++)
for (j=1; j<=m; j++)
{
fscanf(fin, "%d", &a[i][j]);
sumamax+=a[i][j];
}
bkt(1);
fprintf(fout, "%d", sumamax);
fclose(fin);
fclose(fout);
return 0;
}