Pagini recente » Cod sursa (job #1054070) | Cod sursa (job #928719) | Cod sursa (job #2890312) | Cod sursa (job #1807275) | Cod sursa (job #2437187)
#include <fstream>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
unsigned short N, M;
int arr[100][100], vec[100], firstSum, secondSum = 0, MAX = 0;
void fooBar() {
for (int j = 1; j <= M; j++) {
firstSum = 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 <= M) {
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;
}