Pagini recente » Cod sursa (job #575123) | Cod sursa (job #2449509) | Cod sursa (job #1696526) | Cod sursa (job #80333) | Cod sursa (job #635251)
Cod sursa(job #635251)
#include <stdio.h>
#define MAX 20
FILE *s,*c;
short int n,m,so[MAX];
int mat[MAX][MAX];
long int max=0;
void citeste()
{
c = fopen("flip.in","r");
s = fopen("flip.out","w");
fscanf(c,"%d %d",&n,&m);
for(short int i=0;i<=n;i++)
for(short int h=0;h<=m;h++)
fscanf(c,"%d",&mat[i][h]);
}
void suma()
{
long int suma=0,s;
for(short int i=0;i<=m-1;i++)
{
s = 0;
for(short int h=0;h<=n-1;h++)
if(so[h])
s -= mat[h][i];
else
s += mat[h][i];
if(s < 0)
s *= -1;
suma += s;
}
if(suma > max)
max = suma;
}
void backtracking(short int a)
{
if(a < n)
{
for(short int i=0;i<=1;i++)
{
so[a] = i;
backtracking(a+1);
}
}
else
{
suma();
}
}
int main()
{
citeste();
backtracking(0);
fprintf(s,"%d",max);
fclose(s);
fclose(c);
return 0;
}