Pagini recente » Cod sursa (job #2301382) | Istoria paginii runda/lot2010mixt2 | Cod sursa (job #2577850) | Cod sursa (job #2295023) | Cod sursa (job #635254)
Cod sursa(job #635254)
#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;
}