Pagini recente » Cod sursa (job #26914) | Cod sursa (job #2933804) | Cod sursa (job #1353267) | Cod sursa (job #2066005) | Cod sursa (job #2051929)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin ("flip.in");
ofstream fout ("flip.out");
void back(int k);
const int Dim = 17;
int A[Dim][Dim] , n, m , ma = -100000000 , s,Sl[Dim] , Sc[Dim];
bool UseL[Dim] = {0}, UseC[Dim] = {0};
int main() {
fin >> n >> m;
for(int i = 1; i <= n; i++)
for(int j = 1; j <= m; j++)
fin >> A[i][j];
back(0);
fout << ma;
}
int suma() {
int S = 0;
for(int i = 1; i <= n; i++)
for(int j = 1; j <= m; j++)
S += A[i][j];
return S;
}
void back(int k ) {
for(int i = k + 1; i <= n; i++) {
for(int j = 1; j <= m; j++)
A[i][j] *= -1;
back(i+1);
}
for(int j = 1; j <= m; j++) {
int ss = 0;
for(int i = 1; i <= n ;i++)
ss += A[i][j];
if(ss < 0)
for(int i = 1; i <= n ;i++)
A[i][j] *= -1;
ma = max(ma,suma());
}
ma = max(ma,suma());
}