Pagini recente » Cod sursa (job #975597) | Cod sursa (job #2421804) | Cod sursa (job #315116) | Borderou de evaluare (job #1602015) | Cod sursa (job #479270)
Cod sursa(job #479270)
// Jocul Flip
#include <fstream>
using namespace std;
int suma, n, m;
int** matr;
int abs(int x) {
if (x<0) return -x;
else return x;
}
void bkt(int nr) {
if (nr==n+1) {
int sum_tot = 0;
for (int i=1; i<=m; i++) {
int sum_col = 0;
for (int j=1; j<=n; sum_col+= matr[j][i], j++);
sum_tot += abs(sum_col);
}
if (sum_tot>suma)
suma = sum_tot;
return;
}
bkt(nr+1);
for (int i=1; i<=m; matr[nr][i]=-matr[nr][i], i++);
bkt(nr+1);
for (int i=1; i<=m; matr[nr][i]=-matr[nr][i], i++);
}
int main() {
ifstream fin("flip.in");
ofstream fout("flip.out");
fin >> n >> m;
matr = new int*[n+1];
for (int i=1; i<=n; i++)
matr[i] = new int[m+1];
for (int i=1; i<=n; i++) {
for (int j=1; j<=m; j++) {
fin >> matr[i][j];
}
}
bkt(1);
fout << suma << endl;
fin.close();
fout.close();
return 0;
}