Pagini recente » Cod sursa (job #68173) | Cod sursa (job #2491416) | Cod sursa (job #2716939) | Cod sursa (job #714260) | Cod sursa (job #2437194)
#include <fstream>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
int arr[100][100], vec[100], maxValue = 0;
unsigned short N, M;
void fooBar() {
int firstSum = 0, secondSum;
for (int i = 1; i <= M; i++) {
secondSum = 0;
for (int j = 1; j <= N; j++)
secondSum += vec[j] * arr[j][i];
if (secondSum < 0)
secondSum = -secondSum;
firstSum += secondSum;
if (maxValue < firstSum)
maxValue = 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 << maxValue;
}