Pagini recente » Cod sursa (job #358572) | Cod sursa (job #1211855) | Cod sursa (job #2688210) | Cod sursa (job #2413647) | Cod sursa (job #3003549)
#include <fstream>
using namespace std;
const int Nmax = 16;
int mat[Nmax + 4][Nmax + 4];
int isFlipped[Nmax + 4], sum[Nmax + 4];
int main()
{
ifstream fin("flip.in");
ofstream fout("flip.out");
int n, m, sol, s;
fin >> n >> m;
for(int i = 0; i < n; i++){
for(int j = 0; j < m; j++){
fin >> mat[i][j];
}
}
sol = 0;
for(int h = 1; h < (1 << m); h++){
for(int j = 0; j < m; j++){
if((h & (1 << j))){
isFlipped[j] = 1;
}
else{
isFlipped[j] = 0;
}
}
for(int i = 0; i < n; i++){
for(int j = 0; j < m; j++){
if(isFlipped[j] == 1){
sum[i] -= mat[i][j];
}
else{
sum[i] += mat[i][j];
}
}
}
s = 0;
for(int i = 0; i < n; i++){
if(sum[i] < 0){
s -= sum[i];
}
else{
s += sum[i];
}
sum[i] = 0;
}
sol = max(sol, s);
}
fout << sol;
return 0;
}