Pagini recente » Cod sursa (job #741923) | Cod sursa (job #2853346) | Cod sursa (job #1895541) | Cod sursa (job #1543043) | Cod sursa (job #3323547)
#include <bits/stdc++.h>
using namespace std;
int mat[25][25];
int mat1[25][25];
int s1[25], s2[25];
int main()
{
ifstream cin ("flip.in");
ofstream cout ("flip.out");
int n, m;
cin >> n >> m;
for(int i=1; i<=n; i++)
{
for(int j=1; j<=m; j++)
cin >> mat[i][j], mat1[i][j]=mat[i][j];
}
int max1=0;
for(int mask=0; mask<(1<<n); mask++)
{
for(int i=1; i<=n; i++)
{
int val=1;
if(mask&(1<<(i-1)))
val=-1;
for(int j=1; j<=m; j++)
{
mat[i][j]=mat1[i][j]*val;
if(mat[i][j]<0)
s2[j]+=abs(mat[i][j]);
else
s1[j]+=mat[i][j];
}
}
int sum=0;
for(int j=1; j<=m; j++)
{
sum+=max(s1[j], s2[j])-min(s1[j], s2[j]);
s1[j]=s2[j]=0;
}
max1=max(max1, sum);
}
cout << max1;
return 0;
}