Pagini recente » Cod sursa (job #2522570) | Cod sursa (job #2733678) | Cod sursa (job #639928) | Cod sursa (job #1639173) | Cod sursa (job #1208783)
#include <cstdio>
#define max(a,b) a>b?a:b
int numRow,numCol,configurations,value[20][20],sol;
void changeMatrix(int cnt)
{
for(int i = 0; i < numCol; i++)
if(cnt & (1 << i))
for(int j = 0; j < numRow; j++)
value[j][i] = -value[j][i];
}
int calculate()
{
int ans = 0;
for(int i = 0; i < numRow; i++)
{
int rowSum = 0;
for(int j = 0; j < numCol; j++)
rowSum = rowSum + value[i][j];
if(rowSum < 0)
rowSum = -rowSum;
ans = ans + rowSum;
}
return ans;
}
int main()
{
freopen("flip.in","r",stdin);
freopen("flip.out","w",stdout);
scanf("%d%d",&numRow,&numCol);
for(int i = 0; i < numRow; i++)
for(int j = 0; j < numCol; j++)
scanf("%d",&value[i][j]);
configurations = 1<<numCol;
sol = 0;
for(int current = 0; current < configurations; current++)
{
changeMatrix(current);
sol = max(sol,calculate());
changeMatrix(current);
}
printf("%d\n",sol);
return 0;
}