Pagini recente » Cod sursa (job #354571) | Cod sursa (job #415597) | Cod sursa (job #3277594) | Cod sursa (job #844393) | Cod sursa (job #605392)
Cod sursa(job #605392)
#include <stdio.h>
#define MAX 16
int sol[MAX], max, n, m, a[MAX][MAX];
void back(int k);
int get_sum();
int main()
{
int i, j;
FILE *f = fopen("flip.in","rt");
FILE *g = fopen("flip.out", "wt");
fscanf(f,"%d %d", &n, &m);
for(i=0;i<n;++i)
{
for(j=0;j<m;++j)
{
fscanf(f,"%d", &a[i][j]);
}
}
back(0);
fprintf(g,"%d\n", max);
}
void back(int k)
{
int i, sum;
if(k == n)
{
sum = get_sum();
if(sum > max)
{
max = sum;
}
}
else
{
for(i=-1;i<=1;i+=2)
{
sol[k] = i;
back(k+1);
}
}
}
int get_sum()
{
int i, j, sum, total;
total = 0;
for(j=0;j<m;++j)
{
sum = 0;
for(i=0;i<n;++i)
{
sum += a[i][j] * sol[i];
}
if(sum < 0)
{
sum *= -1;
}
total += sum;
}
return total;
}