Pagini recente » Cod sursa (job #1811417) | Cod sursa (job #1672427) | Cod sursa (job #315241) | Cod sursa (job #1060457) | Cod sursa (job #1751210)
#include<fstream>
#include<iostream>
#include<climits>
using namespace std;
int m, n;
int **game;
int maxSum = 0;
ifstream f("flip.in");
ofstream g("flip.out");
void print() {
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
cout << game[i][j] << "\t";
}
cout << endl;
}
}
inline int max(int x1, int x2) {
return x1 > x2 ? x1 : x2;
}
void backtrackC(int start) {
if (start == m) {
return;
}
for (int i = start; i < m; i++) {
backtrackC(i + 1);
}
}
void backtrackR(int start) {
if (start == n) {
return;
}
for (int i = start; i < n; i++) {
//backtrackC(0);
backtrackR(i + 1);
}
}
void backtrack() {
backtrackR(0);
}
void freeAll() {
for (int i = 0; i < n; i++) {
delete game[i];
}
delete game;
}
int main() {
f >> n >> m;
game = new int*[n];
for (int i = 0; i < n; i++) {
game[i] = new int[m];
for (int j = 0; j < m; j++) {
f >> game[i][j];
maxSum += game[i][j];
}
}
backtrack();
g << maxSum;
freeAll();
return 0;
}