Pagini recente » Cod sursa (job #25569) | Cod sursa (job #95599) | Cod sursa (job #2336967) | Cod sursa (job #1757367) | Cod sursa (job #3158)
Cod sursa(job #3158)
#include<fstream.h>
int a[18][18],m,n,max=0;
void flip(int x[])
{ int s,st;
for(int i=1;i<=n;i++)
if(x[i]==1)
for(int j=1;j<=m;j++)
a[i][j]*=(-1);
st=0;
for(int j=1;j<=m;j++)
{s=0;
for(int i=1;i<=n;i++)
s+=a[i][j];
if(s<0)
st+=-s;
else st+=s;
}
if(st>max) max=st;
for(i=1;i<=n;i++)
if(x[i]==1)
for(j=1;j<=m;j++)
a[i][j]*=(-1);
}
void main()
{
int x[20],k,ok;
ifstream fin("flip.in");
fin>>n>>m;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
fin>>a[i][j];
fin.close();
x[k=1]=0;
while(k>0)
{ok=0;
while(ok==0&&x[k]<1)
{x[k]++;
ok=1;}
if(ok)
if(k==n)
flip(x);
else x[++k]=0;
else k--;
}
ofstream fout("flip.out");
fout<<max;
}