Pagini recente » Cod sursa (job #295182) | Cod sursa (job #2588687) | Cod sursa (job #1185923) | Cod sursa (job #2608015) | Cod sursa (job #1830611)
#include <iostream>
#include <fstream>
#define mare 17
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
int a[mare][mare], b[mare], n, m;
int sum;
int i, j;
void backt(int k)
{
for(i=0;i<=1;++i)
{
b[k]=i;
if(k==m)
{
int t, s=0, j, k;
for(k=1;k<=n;++k)
{
t=0;
for(j=1;j<=m;++j)
{
if(b[j])t+=-a[k][j];
else t+=a[k][j];
}
if(t<0)s+=-t;
else s+=t;
}
if(s>sum)sum=s;
}
else if(k+1<=m)backt(k+1);
}
}
int main()
{
fin>>n>>m;
for(i=1;i<=n;++i)
for(j=1;j<=n;++j)
{
fin>>a[i][j];
sum+=a[i][j];
}
backt(1);
fout<<sum;
return 0;
}