Pagini recente » Cod sursa (job #327200) | Cod sursa (job #2441907) | Cod sursa (job #1327290) | Cod sursa (job #2776665) | Cod sursa (job #245070)
Cod sursa(job #245070)
#include<fstream>
using namespace std;
int a[18][18],m,n,maxx=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>maxx) maxx=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;
fstream fin("flip.in",ios::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--;
}
fstream fout("flip.out",ios::out);
fout<<maxx;
fout.close();
return 0;
}