Pagini recente » Cod sursa (job #1505077) | Cod sursa (job #2796858) | Sandbox (cutiuţa cu năsip) | Cod sursa (job #951593) | Cod sursa (job #1438323)
#include <iostream>
#include <algorithm>
using namespace std;
int N, M, sign[100], a[100][100], ans;
void solve()
{
int current = 0, best = 0;
for (int i = 0; i < N; i++)
{
current = 0;
for (int j = 0; j < M; j++)
current += a[i][j] * sign[j];
best += max(-current, current);
}
ans = max(ans, best);
}
void back(int k)
{
if (k == M)
{
solve();
return;
}
sign[k] = 1;
back(k + 1);
sign[k] = -1;
back(k + 1);
}
int main()
{
freopen("flip.in", "r", stdin);
freopen("flip.out", "w", stdout);
cin >> N >> M;
for (int i = 0; i < N; i++)
for (int j = 0; j < M; j++)
cin >> a[i][j];
back(0);
cout << ans << endl;
}