Pagini recente » Cod sursa (job #141864) | Cod sursa (job #153014) | Cod sursa (job #206743) | Cod sursa (job #2920189) | Cod sursa (job #2051936)
#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 ) {
int i,j;
for( j = 1; j <= m; j++) {
int ss = 0;
for(i = 1; i <= n; i++)
ss += A[i][j];
if(ss < 0)
for(i = 1; i <= n; i++)
A[i][j] *= -1;
ma = max(ma,suma());
}
for( i = k+1; i <= n; i++) {
for( j = 1; j <= m; j++)
A[i][j] *= -1;
back(i+1);
for( j = 1; j <= m; j++)
A[i][j] *= -1;
}
}