Pagini recente » Cod sursa (job #1130111) | Cod sursa (job #1649527) | Cod sursa (job #12405) | Cod sursa (job #377879) | Cod sursa (job #2437189)
#include <fstream>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
int arr[100][100], vec[100], firstSum = 0, secondSum, MAX = 0, N, M;
void fooBar() {
for (int j = 1; j <= M; j++) {
secondSum = 0;
for (int i = 1; i <= N; i++) {
secondSum += vec[i] * arr[i][j];
if (secondSum < 0)
secondSum = -secondSum;
firstSum += secondSum;
}
if (MAX < firstSum)
MAX = firstSum;
}
}
void backTrack(int k) {
if (k <= N) {
vec[k] = 1;
backTrack(k + 1);
vec[k] = -1;
backTrack(k + 1);
}
else
fooBar();
}
int main() {
fin >> N >> M;
for (int i = 1; i <= N; i++)
for (int j = 1; j <= M; j++) {
fin >> arr[i][j];
}
backTrack(1);
fout << MAX;
}