Pagini recente » Cod sursa (job #278789) | Cod sursa (job #894332) | Cod sursa (job #2601187) | Cod sursa (job #3214696) | Cod sursa (job #1349602)
#include <fstream>
#define NMax 20
using namespace std;
ifstream in("flip.in");
ofstream out("flip.out");
int M[NMax][NMax], n, m, Sum;
void calc()
{
int sum1, sum2, S = 0;
for(int j = 1; j <= m; j ++)
{
sum1 = 0;
sum2 = 0;
for(int i = 1; i <=n; i ++)
{
sum1 += M[i][j];
sum2 += -M[i][j];
}
S += max( sum1, sum2 );
}
if(Sum < S)
Sum = S;
}
void bck(int l)
{
if(l > n)
{
calc();
return;
}
bck(l + 1);
for(int j = 1; j <= m; j ++)
M[l][j] *= (-1);
bck(l + 1);
for(int j = 1; j <= m; j ++)
M[l][j] *= (-1);
}
int main()
{
int i, j, ok = 1, sum;
in >> n >> m;
for(i = 1; i <=n; i ++)
for(j = 1; j <= m; j ++)
in >> M[i][j];
bck(1);
out << Sum << "\n";
return 0;
}