Pagini recente » Cod sursa (job #29536) | Cod sursa (job #1298795) | Cod sursa (job #2260448) | Cod sursa (job #2590197) | Cod sursa (job #1553837)
#include <cstdio>
#include <algorithm>
#define maxN 19
using namespace std;
int a[maxN][maxN], smaxx, n, m, i, j;
int x[maxN];
void actualizare()
{
int i, j, s, s1=0;
for(i = 1; i <= n; i++)
{
s = 0;
for(j = 1; j <= m; j++)
s += x[j] * a[i][j];
if(s < 0) s *= -1;
s1 += s;
}
smaxx = max(smaxx, s1);
}
void backtracking(int k)
{
int i;
if(k == m+1)
actualizare();
else
{
x[k] = -1;
backtracking(k+1);
x[k] = 1;
backtracking(k+1);
}
}
int main()
{
freopen("flip.in", "r", stdin);
freopen("flip.out", "w", stdout);
scanf("%d %d", &n, &m);
for(i = 1; i <= n; i++)
for(j = 1; j <= m; j++)
scanf("%d", &a[i][j]);
backtracking(1);
printf("%d", smaxx);
return 0;
}