Pagini recente » Cod sursa (job #2015021) | Cod sursa (job #2648418) | Cod sursa (job #3157306) | Cod sursa (job #2940980) | Cod sursa (job #3301680)
#include <cstdio>
int n, m, a[16][16], s[16];
int main() {
freopen ("flip.in", "r", stdin), freopen ("flip.out", "w", stdout);
scanf("%d %d", &n, &m);
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
scanf("%d", &a[i][j]);
s[i] += a[i][j];
a[i][j] *= 2;
}
}
int best = -(int) 1e9;
for (int mask = 0; mask < (1 << m); mask++) {
int cur = 0, sum;
sum = -s[0];
sum += a[0][0] * !!(mask & 1);
sum += a[0][1] * !!(mask & 2);
sum += a[0][2] * !!(mask & 4);
sum += a[0][3] * !!(mask & 8);
sum += a[0][4] * !!(mask & 16);
sum += a[0][5] * !!(mask & 32);
sum += a[0][6] * !!(mask & 64);
sum += a[0][7] * !!(mask & 128);
sum += a[0][8] * !!(mask & 256);
sum += a[0][9] * !!(mask & 512);
sum += a[0][10] * !!(mask & 1024);
sum += a[0][11] * !!(mask & 2048);
sum += a[0][12] * !!(mask & 4096);
sum += a[0][13] * !!(mask & 8192);
sum += a[0][14] * !!(mask & 16384);
sum += a[0][15] * !!(mask & 32768);
cur += (sum > 0) ? sum : -sum;
sum = -s[1];
sum += a[1][0] * !!(mask & 1);
sum += a[1][1] * !!(mask & 2);
sum += a[1][2] * !!(mask & 4);
sum += a[1][3] * !!(mask & 8);
sum += a[1][4] * !!(mask & 16);
sum += a[1][5] * !!(mask & 32);
sum += a[1][6] * !!(mask & 64);
sum += a[1][7] * !!(mask & 128);
sum += a[1][8] * !!(mask & 256);
sum += a[1][9] * !!(mask & 512);
sum += a[1][10] * !!(mask & 1024);
sum += a[1][11] * !!(mask & 2048);
sum += a[1][12] * !!(mask & 4096);
sum += a[1][13] * !!(mask & 8192);
sum += a[1][14] * !!(mask & 16384);
sum += a[1][15] * !!(mask & 32768);
cur += (sum > 0) ? sum : -sum;
sum = -s[2];
sum += a[2][0] * !!(mask & 1);
sum += a[2][1] * !!(mask & 2);
sum += a[2][2] * !!(mask & 4);
sum += a[2][3] * !!(mask & 8);
sum += a[2][4] * !!(mask & 16);
sum += a[2][5] * !!(mask & 32);
sum += a[2][6] * !!(mask & 64);
sum += a[2][7] * !!(mask & 128);
sum += a[2][8] * !!(mask & 256);
sum += a[2][9] * !!(mask & 512);
sum += a[2][10] * !!(mask & 1024);
sum += a[2][11] * !!(mask & 2048);
sum += a[2][12] * !!(mask & 4096);
sum += a[2][13] * !!(mask & 8192);
sum += a[2][14] * !!(mask & 16384);
sum += a[2][15] * !!(mask & 32768);
cur += (sum > 0) ? sum : -sum;
sum = -s[3];
sum += a[3][0] * !!(mask & 1);
sum += a[3][1] * !!(mask & 2);
sum += a[3][2] * !!(mask & 4);
sum += a[3][3] * !!(mask & 8);
sum += a[3][4] * !!(mask & 16);
sum += a[3][5] * !!(mask & 32);
sum += a[3][6] * !!(mask & 64);
sum += a[3][7] * !!(mask & 128);
sum += a[3][8] * !!(mask & 256);
sum += a[3][9] * !!(mask & 512);
sum += a[3][10] * !!(mask & 1024);
sum += a[3][11] * !!(mask & 2048);
sum += a[3][12] * !!(mask & 4096);
sum += a[3][13] * !!(mask & 8192);
sum += a[3][14] * !!(mask & 16384);
sum += a[3][15] * !!(mask & 32768);
cur += (sum > 0) ? sum : -sum;
sum = -s[4];
sum += a[4][0] * !!(mask & 1);
sum += a[4][1] * !!(mask & 2);
sum += a[4][2] * !!(mask & 4);
sum += a[4][3] * !!(mask & 8);
sum += a[4][4] * !!(mask & 16);
sum += a[4][5] * !!(mask & 32);
sum += a[4][6] * !!(mask & 64);
sum += a[4][7] * !!(mask & 128);
sum += a[4][8] * !!(mask & 256);
sum += a[4][9] * !!(mask & 512);
sum += a[4][10] * !!(mask & 1024);
sum += a[4][11] * !!(mask & 2048);
sum += a[4][12] * !!(mask & 4096);
sum += a[4][13] * !!(mask & 8192);
sum += a[4][14] * !!(mask & 16384);
sum += a[4][15] * !!(mask & 32768);
cur += (sum > 0) ? sum : -sum;
sum = -s[5];
sum += a[5][0] * !!(mask & 1);
sum += a[5][1] * !!(mask & 2);
sum += a[5][2] * !!(mask & 4);
sum += a[5][3] * !!(mask & 8);
sum += a[5][4] * !!(mask & 16);
sum += a[5][5] * !!(mask & 32);
sum += a[5][6] * !!(mask & 64);
sum += a[5][7] * !!(mask & 128);
sum += a[5][8] * !!(mask & 256);
sum += a[5][9] * !!(mask & 512);
sum += a[5][10] * !!(mask & 1024);
sum += a[5][11] * !!(mask & 2048);
sum += a[5][12] * !!(mask & 4096);
sum += a[5][13] * !!(mask & 8192);
sum += a[5][14] * !!(mask & 16384);
sum += a[5][15] * !!(mask & 32768);
cur += (sum > 0) ? sum : -sum;
sum = -s[6];
sum += a[6][0] * !!(mask & 1);
sum += a[6][1] * !!(mask & 2);
sum += a[6][2] * !!(mask & 4);
sum += a[6][3] * !!(mask & 8);
sum += a[6][4] * !!(mask & 16);
sum += a[6][5] * !!(mask & 32);
sum += a[6][6] * !!(mask & 64);
sum += a[6][7] * !!(mask & 128);
sum += a[6][8] * !!(mask & 256);
sum += a[6][9] * !!(mask & 512);
sum += a[6][10] * !!(mask & 1024);
sum += a[6][11] * !!(mask & 2048);
sum += a[6][12] * !!(mask & 4096);
sum += a[6][13] * !!(mask & 8192);
sum += a[6][14] * !!(mask & 16384);
sum += a[6][15] * !!(mask & 32768);
cur += (sum > 0) ? sum : -sum;
sum = -s[7];
sum += a[7][0] * !!(mask & 1);
sum += a[7][1] * !!(mask & 2);
sum += a[7][2] * !!(mask & 4);
sum += a[7][3] * !!(mask & 8);
sum += a[7][4] * !!(mask & 16);
sum += a[7][5] * !!(mask & 32);
sum += a[7][6] * !!(mask & 64);
sum += a[7][7] * !!(mask & 128);
sum += a[7][8] * !!(mask & 256);
sum += a[7][9] * !!(mask & 512);
sum += a[7][10] * !!(mask & 1024);
sum += a[7][11] * !!(mask & 2048);
sum += a[7][12] * !!(mask & 4096);
sum += a[7][13] * !!(mask & 8192);
sum += a[7][14] * !!(mask & 16384);
sum += a[7][15] * !!(mask & 32768);
cur += (sum > 0) ? sum : -sum;
sum = -s[8];
sum += a[8][0] * !!(mask & 1);
sum += a[8][1] * !!(mask & 2);
sum += a[8][2] * !!(mask & 4);
sum += a[8][3] * !!(mask & 8);
sum += a[8][4] * !!(mask & 16);
sum += a[8][5] * !!(mask & 32);
sum += a[8][6] * !!(mask & 64);
sum += a[8][7] * !!(mask & 128);
sum += a[8][8] * !!(mask & 256);
sum += a[8][9] * !!(mask & 512);
sum += a[8][10] * !!(mask & 1024);
sum += a[8][11] * !!(mask & 2048);
sum += a[8][12] * !!(mask & 4096);
sum += a[8][13] * !!(mask & 8192);
sum += a[8][14] * !!(mask & 16384);
sum += a[8][15] * !!(mask & 32768);
cur += (sum > 0) ? sum : -sum;
sum = -s[9];
sum += a[9][0] * !!(mask & 1);
sum += a[9][1] * !!(mask & 2);
sum += a[9][2] * !!(mask & 4);
sum += a[9][3] * !!(mask & 8);
sum += a[9][4] * !!(mask & 16);
sum += a[9][5] * !!(mask & 32);
sum += a[9][6] * !!(mask & 64);
sum += a[9][7] * !!(mask & 128);
sum += a[9][8] * !!(mask & 256);
sum += a[9][9] * !!(mask & 512);
sum += a[9][10] * !!(mask & 1024);
sum += a[9][11] * !!(mask & 2048);
sum += a[9][12] * !!(mask & 4096);
sum += a[9][13] * !!(mask & 8192);
sum += a[9][14] * !!(mask & 16384);
sum += a[9][15] * !!(mask & 32768);
cur += (sum > 0) ? sum : -sum;
sum = -s[10];
sum += a[10][0] * !!(mask & 1);
sum += a[10][1] * !!(mask & 2);
sum += a[10][2] * !!(mask & 4);
sum += a[10][3] * !!(mask & 8);
sum += a[10][4] * !!(mask & 16);
sum += a[10][5] * !!(mask & 32);
sum += a[10][6] * !!(mask & 64);
sum += a[10][7] * !!(mask & 128);
sum += a[10][8] * !!(mask & 256);
sum += a[10][9] * !!(mask & 512);
sum += a[10][10] * !!(mask & 1024);
sum += a[10][11] * !!(mask & 2048);
sum += a[10][12] * !!(mask & 4096);
sum += a[10][13] * !!(mask & 8192);
sum += a[10][14] * !!(mask & 16384);
sum += a[10][15] * !!(mask & 32768);
cur += (sum > 0) ? sum : -sum;
sum = -s[11];
sum += a[11][0] * !!(mask & 1);
sum += a[11][1] * !!(mask & 2);
sum += a[11][2] * !!(mask & 4);
sum += a[11][3] * !!(mask & 8);
sum += a[11][4] * !!(mask & 16);
sum += a[11][5] * !!(mask & 32);
sum += a[11][6] * !!(mask & 64);
sum += a[11][7] * !!(mask & 128);
sum += a[11][8] * !!(mask & 256);
sum += a[11][9] * !!(mask & 512);
sum += a[11][10] * !!(mask & 1024);
sum += a[11][11] * !!(mask & 2048);
sum += a[11][12] * !!(mask & 4096);
sum += a[11][13] * !!(mask & 8192);
sum += a[11][14] * !!(mask & 16384);
sum += a[11][15] * !!(mask & 32768);
cur += (sum > 0) ? sum : -sum;
sum = -s[12];
sum += a[12][0] * !!(mask & 1);
sum += a[12][1] * !!(mask & 2);
sum += a[12][2] * !!(mask & 4);
sum += a[12][3] * !!(mask & 8);
sum += a[12][4] * !!(mask & 16);
sum += a[12][5] * !!(mask & 32);
sum += a[12][6] * !!(mask & 64);
sum += a[12][7] * !!(mask & 128);
sum += a[12][8] * !!(mask & 256);
sum += a[12][9] * !!(mask & 512);
sum += a[12][10] * !!(mask & 1024);
sum += a[12][11] * !!(mask & 2048);
sum += a[12][12] * !!(mask & 4096);
sum += a[12][13] * !!(mask & 8192);
sum += a[12][14] * !!(mask & 16384);
sum += a[12][15] * !!(mask & 32768);
cur += (sum > 0) ? sum : -sum;
sum = -s[13];
sum += a[13][0] * !!(mask & 1);
sum += a[13][1] * !!(mask & 2);
sum += a[13][2] * !!(mask & 4);
sum += a[13][3] * !!(mask & 8);
sum += a[13][4] * !!(mask & 16);
sum += a[13][5] * !!(mask & 32);
sum += a[13][6] * !!(mask & 64);
sum += a[13][7] * !!(mask & 128);
sum += a[13][8] * !!(mask & 256);
sum += a[13][9] * !!(mask & 512);
sum += a[13][10] * !!(mask & 1024);
sum += a[13][11] * !!(mask & 2048);
sum += a[13][12] * !!(mask & 4096);
sum += a[13][13] * !!(mask & 8192);
sum += a[13][14] * !!(mask & 16384);
sum += a[13][15] * !!(mask & 32768);
cur += (sum > 0) ? sum : -sum;
sum = -s[14];
sum += a[14][0] * !!(mask & 1);
sum += a[14][1] * !!(mask & 2);
sum += a[14][2] * !!(mask & 4);
sum += a[14][3] * !!(mask & 8);
sum += a[14][4] * !!(mask & 16);
sum += a[14][5] * !!(mask & 32);
sum += a[14][6] * !!(mask & 64);
sum += a[14][7] * !!(mask & 128);
sum += a[14][8] * !!(mask & 256);
sum += a[14][9] * !!(mask & 512);
sum += a[14][10] * !!(mask & 1024);
sum += a[14][11] * !!(mask & 2048);
sum += a[14][12] * !!(mask & 4096);
sum += a[14][13] * !!(mask & 8192);
sum += a[14][14] * !!(mask & 16384);
sum += a[14][15] * !!(mask & 32768);
cur += (sum > 0) ? sum : -sum;
sum = -s[15];
sum += a[15][0] * !!(mask & 1);
sum += a[15][1] * !!(mask & 2);
sum += a[15][2] * !!(mask & 4);
sum += a[15][3] * !!(mask & 8);
sum += a[15][4] * !!(mask & 16);
sum += a[15][5] * !!(mask & 32);
sum += a[15][6] * !!(mask & 64);
sum += a[15][7] * !!(mask & 128);
sum += a[15][8] * !!(mask & 256);
sum += a[15][9] * !!(mask & 512);
sum += a[15][10] * !!(mask & 1024);
sum += a[15][11] * !!(mask & 2048);
sum += a[15][12] * !!(mask & 4096);
sum += a[15][13] * !!(mask & 8192);
sum += a[15][14] * !!(mask & 16384);
sum += a[15][15] * !!(mask & 32768);
cur += (sum > 0) ? sum : -sum;
best = (cur > best) ? cur : best;
}
printf("%d\n", best);
}