Pagini recente » Cod sursa (job #646775) | Cod sursa (job #3033145) | Cod sursa (job #934482) | Cod sursa (job #1650630) | Cod sursa (job #122318)
Cod sursa(job #122318)
#include<fstream.h>
int a[18][18],m,n,max=0;
void flip(int x[])
{ int s,st,i,j;
for(i=1;i<=n;i++)
if(x[i]==1)
for(j=1;j<=m;j++)
a[i][j]*=(-1);
st=0;
for(j=1;j<=m;j++)
{s=0;
for(i=1;i<=n;i++)
s+=a[i][j];
if(s<0)
st=st-s;
else st=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);
}
int main()
{
int x[20],k,ok,i,j;
ifstream fin("flip.in");
fin>>n>>m;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
fin>>a[i][j];
fin.close();
x[k=1]=-1;
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]=-1;
else k--;
}
ofstream fout("flip.out");
fout<<max;
return 0;
}