Pagini recente » Istoria paginii runda/aasfa/clasament | Cod sursa (job #2028734) | Cod sursa (job #438509) | Istoria paginii runda/baraj2010_ziua2 | Cod sursa (job #2493542)
#include <bits/stdc++.h>
using namespace std;
int N, M, A[17][17], op[17], mx;
int bk(int k) {
if(k == M + 1) {
int sum = 0;
for(int i = 1; i <= N; ++i) {
int s = 0;
for(int j = 1; j <= M; ++j)
s += (op[j]) ? -A[i][j] : A[i][j];
sum += (s < 0) ? -s : s;
}
return sum;
}
op[k] = 0;
int a = bk(k + 1);
op[k] = 1;
int b = bk(k + 1);
return max(a, b);
}
int main() {
ifstream fin("flip.in");
ofstream fout("flip.out");
fin >> N >> M;
for(int i = 1; i <= N; ++i)
for(int j = 1; j <= M; ++j)
fin >> A[i][j];
fout << bk(1);
}