Pagini recente » Cod sursa (job #1404970) | Cod sursa (job #1533410) | Cod sursa (job #728484) | Cod sursa (job #1861926) | Cod sursa (job #447227)
Cod sursa(job #447227)
#include <stdio.h>
#define N 16
#define INF 1000000000
int n, m, smax = -INF;
int a[N + 1][N + 1];
int c[N + 1];
void citeste()
{
scanf("%d%d", &n, &m);
int i, j;
for(i = 1; i <= n; ++i)
for(j = 1; j <= m; ++j)
scanf("%d", &a[i][j]);
for(i = 1; i <= n; ++i)
for(j = 1; j <= m; ++j)
c[j] += a[i][j];
}
void scrie()
{
printf("%d\n", smax);
}
int abs(int x)
{
if(x < 0) return -x;
return x;
}
void back(int k)
{
if(k == n + 1)
{
int s, i;
for(s = 0, i = 1; i <= m; ++i) s += abs(c[i]);
if(s > smax) smax = s;
}
else
{
int i;
back(k + 1);
for(i = 1; i <= m; ++i) c[i] = c[i] - 2 * a[k][i];
back(k + 1);
for(i = 1; i <= m; ++i) c[i] = c[i] + 2 * a[k][i];
}
}
int main()
{
freopen("flip.in", "r", stdin);
freopen("flip.out", "w", stdout);
citeste();
back(1);
scrie();
return 0;
}