Pagini recente » Cod sursa (job #2480913) | Cod sursa (job #1731053) | Cod sursa (job #2960003) | Cod sursa (job #1674489) | Cod sursa (job #1696395)
#include <fstream>
using namespace std;
const int MAX_N = 20;
int i, j, n, m, update, conf, ans;
int a[MAX_N][MAX_N];
int current[MAX_N*MAX_N], tmp[MAX_N*MAX_N];
int main()
{
ifstream cin("flip.in");
ofstream cout("flip.out");
cin >> n >> m;
for (i = 1; i <= n; ++i)
for (j = 1; j <= m; ++j) {
cin >> a[i][j];
tmp[j] += a[i][j];
}
for (conf = 0; conf < (1 << n); ++conf) {
for (j = 1; j <= m; ++j)
current[j] = tmp[j];
for (i = 0; i < n; ++i) {
if (conf & (1 << i))
for (j = 1; j <= m; ++j)
current[j] -= 2 * a[i+1][j];
}
update = 0;
for (j = 1; j <= m; ++j)
if (current[j] < 0)
update += current[j] * (-1);
else
update += current[j];
ans = max(ans, update);
}
cout << ans;
cin.close();
cout.close();
return 0;
}