Pagini recente » Cod sursa (job #531094) | Cod sursa (job #701634) | Cod sursa (job #2804033) | Cod sursa (job #1623723) | Cod sursa (job #304023)
Cod sursa(job #304023)
#include<fstream.h>
ifstream in("flip.in");
ofstream out("flip.out");
int n,m,l[19],c[19];
long int mat[19][19],smax;
void calc()
{ int i,j;
long int s=0;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
s=s+mat[i][j]*c[j]*l[i];
if(s>smax)smax=s;
}
void bkt(int k)
{ int i;
if(k==n+1)calc();
else
{ l[k]=1;
bkt(k+1);
l[k]=-1;
bkt(k+1);
for(i=1;i<=m;i++)
{ c[i]=1;
bkt(k+1);
c[i]=-1;
bkt(k+1);
}
}
}
int main()
{ int i,j;
in>>n>>m;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
in>>mat[i][j];
in.close();
bkt(1);
out<<smax;
out.close();
return 0;
}