Pagini recente » Cod sursa (job #2184661) | Monitorul de evaluare | Monitorul de evaluare | Cod sursa (job #1914717) | Cod sursa (job #664981)
Cod sursa(job #664981)
#include <stdio.h>
#define MAX 20
FILE *s,*c;
int n,m,so[MAX];
int mat[MAX][MAX];
int max=0;
void citeste()
{
c = fopen("flip.in","r");
s = fopen("flip.out","w");
fscanf(c,"%d %d",&n,&m);
for(int i=0;i<n;i++)
for(int h=0;h<m;h++)
fscanf(c,"%d",&mat[i][h]);
}
void suma()
{
int s,suma;
suma=0;
for(int i=0;i<m;i++)
{
s=0;
for(int h=0;h<n;h++)
if(so[h])
s -= mat[h][i];
else
s+= mat[h][i];
if(s<0)
s = s * -1;
suma += s;
}
if(suma > max)
max = suma;
}
void backtracking(int a)
{
if(a < n)
{
for(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;
}