Pagini recente » Cod sursa (job #1584557) | Cod sursa (job #634247) | Cod sursa (job #2203973) | Cod sursa (job #2172502) | Cod sursa (job #1805536)
#include <cstdio>
using namespace std;
int n, m, a[20][20], sol;
bool v[20];
void bkt(int k)
{
if(k == n + 1)
{
int s = 0, sCol;
for(int j = 1; j <= m; ++j)
{
sCol = 0;
for(int i = 1; i <= n; ++i)
{
if(v[i] == 1) sCol += a[i][j];
else sCol += (a[i][j] * -1);
}
if(sCol < 0) sCol *= -1;
s += sCol;
}
if(s > sol) sol = s;
}
else
for(int i = 0; i <= 1; ++i)
{
v[k] = i;
bkt(k + 1);
}
}
int main()
{
freopen("flip.in", "r", stdin);
freopen("flip.out", "w", stdout);
scanf("%d %d", &n, &m);
for(int i = 1; i <= n; ++i)
for(int j = 1; j <= m; ++j) scanf("%d", &a[i][j]);
fclose(stdin);
bkt(1);
printf("%d", sol);
return 0;
}