Pagini recente » Cod sursa (job #830127) | Cod sursa (job #1898003) | Cod sursa (job #1908784) | Cod sursa (job #1840754) | Cod sursa (job #1150628)
#include <stdio.h>
#include <stdlib.h>
int M[16][16], aux[16];
int n, m, s, smax;
void citesteMat(FILE *f)
{
for(int i=0; i<n; i++)
for(int j=0; j<m; j++)
{
fscanf(f, "%d", &M[i][j]);
s+=M[i][j];
}
}
void sumMat()
{
s=0;
int sumlin;
for(int i=0; i<n; i++)
{
sumlin=0;
for(int j=0; j<m; j++)
sumlin+=M[i][j]*aux[j];
s+=abs(sumlin);
}
return;
}
void back(int k)
{
if(k==m)
{
sumMat();
if(s>smax) smax=s;
}
else
{
aux[k]=1;
back(k+1);
aux[k]=-1;
back(k+1);
}
return;
}
int main()
{
FILE *fi, *fo;
fi=fopen("flip.in", "r");
fo=fopen("flip.out", "w");
fscanf(fi, "%d %d", &n, &m);
citesteMat(fi);
smax=s;
back(0);
fprintf(fo, "%d", smax);
fclose(fi);
fclose(fo);
return 0;
}