Pagini recente » Cod sursa (job #3176654) | Cod sursa (job #2585683) | Cod sursa (job #354402) | Cod sursa (job #538180) | Cod sursa (job #1263438)
#include <iostream>
#include <fstream>
using namespace std;
int matrix[16][16], n, m, config[16], mx = 0;
ifstream f("flip.in");
ofstream g("flip.out");
void configureMatrix(int auxMatr[][16]){
int sum[16], total = 0;
for(int i = 0; i < n; ++i)
sum[i] = 0;
for(int i = 0; i < n; ++i)
for(int j = 0; j < m; ++j)
if(config[j])
sum[i] += -matrix[i][j];
else
sum[i] += matrix[i][j];
for(int i = 0; i < n; ++i)
if(sum[i] < 0)
total -= sum[i];
else
total += sum[i];
mx = max(mx, total);
}
void back(int indx){
if(indx == m)
configureMatrix(matrix);
else
for(config[indx] = 0; config[indx] <= 1; ++config[indx])
back(indx + 1);
}
int main() {
f>>n>>m;
for(int i = 0; i < n; ++i)
for(int j = 0; j < m; ++j)
f>>matrix[i][j];
back(0);
g<<mx;
return 0;
}