Pagini recente » Cod sursa (job #625579) | Cod sursa (job #791973) | Cod sursa (job #2655055) | Cod sursa (job #540961) | Cod sursa (job #517221)
Cod sursa(job #517221)
#include <fstream>
using namespace std;
ifstream in ("flip.in");
ofstream out ("flip.out");
int c[20];
int a[20][20];
int smax,n,m;
void calc()
{
int i,j,s,sum=0;
for (i=1;i<=n;i++)
{
s=0;
for (j=1;j<=m;j++)
s+=a[i][j]*c[j];
sum+=abs(s);
}
if (sum>smax) smax=sum;
}
void backt(int k)
{
if(k==m+1)
{
calc();
return;
}
c[k]=1;
backt(k+1);
c[k]=-1;
backt(k+1);
}
int main()
{
int i,j,ns,b,v;
in>>n>>m;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
in>>a[i][j];
backt(1);
/*
ns=(1<<m)-1;
for(v=1;v<=ns;v++)
{
for(i=1;i<=m;i++)
c[i]=1;
for(b=0;b<n;b++)
if(v&(1<<b))
c[b+1]=-1;
calc();
}*/
out<<smax;
return 0;
}