Pagini recente » Cod sursa (job #2406778) | Cod sursa (job #3235437) | Cod sursa (job #1970910) | Cod sursa (job #498453) | Cod sursa (job #2939177)
#include <fstream>
using namespace std;
const int nmax = 16;
int mat[nmax + 4][nmax + 4];
int f[nmax + 4];
int MaxSum();
int n, m, maxx;
void bkt (int poz){
if (poz == n){
int a = MaxSum();
maxx = max (maxx, a);
return ;
}
++poz;
f[poz] = 1;
bkt (poz);
f[poz] = 0;
bkt (poz);
return ;
}
int MaxSum(){
int sol = 0;
int s = 0;
for (int i = 0; i < n; i++){
s = 0;
for (int j = 0; j < m; j++){
if (f[j]) s -= mat[i][j];
else s += mat[i][j];
}
if (s < 0) s *= -1;
sol += s;
}
return sol;
}
int main(){
ifstream fin ("flip.in");
ofstream fout ("flip.out");
fin >> n >> m;
for (int i = 0; i < n; i++){
for (int j = 0; j < m; j++)
fin >> mat[i][j];
}
bkt (-1);
fout << maxx;
return 0;
}