Pagini recente » Cod sursa (job #131322) | Cod sursa (job #2677389) | Cod sursa (job #462962) | Cod sursa (job #9590) | Cod sursa (job #1468789)
#include <fstream>
#include <iostream>
using namespace std;
ifstream fin ("flip.in");
ofstream fout ("flip.out");
int a[17][17], p[17], m, n, maxim;
void calculeaza() {
int i, j, total = 0, sum = 0;
for (j = 1; j <= m; j++) {
sum = 0;
for (i = 1; i <= n; i++) {
if(p[i] == 0) {
sum += a[i][j];
}
else {
sum -= a[i][j];
}
}
if (sum < 0) {
sum = -sum;
}
total += sum;
}
maxim = total > maxim ? total : maxim;
/*if (total > maxim) {
maxim = total;
}
*/
}
void backtracking(int k) {
if (k > n) {
calculeaza();
}
else {
p[k] = 0;
backtracking(k + 1);
p[k] = 1;
backtracking(k + 1);
}
}
int main() {
int i, j;
fin >> n >> m;
for (i = 1; i <= n; i++) {
for (j = 1; j <= m; j++) {
fin >> a[i][j];
}
}
backtracking(1);
fout << maxim;
return 0;
}