Pagini recente » Cod sursa (job #2123468) | Cod sursa (job #396078) | Cod sursa (job #2645161) | Cod sursa (job #2911654) | Cod sursa (job #2051911)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin ("flip.in");
ofstream fout ("flip.out");
void back(int k , int w);
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] , s += A[i][j];
for(int i = 1; i <= n; i++)
for(int j = 1; j <= m; j++)
Sl[i] += A[i][j];
for(int j = 1; j <= m; j++)
for(int i = 1; i <= n; i++)
Sc[j] += A[i][j];
back(0,0);
fout << ma;
}
void back(int k , int w) {
ma = max(s,ma);
for(int i = k + 1; i <= n; i++) {
int aux = s;
s += -2 * Sl[i];
back(i , w);
s = aux;
}
for(int j = w + 1; j <= m; j++) {
int aux = s;
s += -2*Sc[j];
back(k,j);
s = aux;
}
}