Pagini recente » Cod sursa (job #2565522) | Cod sursa (job #2592198) | Cod sursa (job #1673465) | Cod sursa (job #1673105) | Cod sursa (job #2640427)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("flip.in");
ofstream fout ("flip.out");
unsigned int n,m;
int mat[20][20],sol[20],maxsum,k;
void bkt (int k)
{
if(k==m+1)
{
int i,j,sum = 0,ans = 0;
for(i = 1; i <= n; i++)
{
sum = 0;
for(j = 1; j <= m; j++)
{
sum += mat[i][j]*sol[j];
}
if(sum < 0)
sum = -sum;
ans += sum;
}
maxsum = max(maxsum,ans);
}
else
{
sol[k] = 1;
bkt(k+1);
sol[k] = -1;
bkt(k+1);
}
}
int main()
{
fin>>n>>m;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
fin>>mat[i][j];
bkt(1);
fout<<maxsum;
return 0;
}