Pagini recente » Cod sursa (job #809411) | Cod sursa (job #2320379) | Cod sursa (job #1169335) | Cod sursa (job #478408) | Cod sursa (job #573575)
Cod sursa(job #573575)
#include <fstream.h>
#include <iostream.h>
long a[17][17],max=-1000000,sum=0;
int v[17];
int m,n;
int flip(int k)
{int i;
for(i=1;i<=n;i++)
a[k][i]=0-a[k][i];}
int main()
{
ifstream f("flip.in");
ofstream h("flip.out");
int i, j, k, OK;
long s;
f>>m;
f>>n;
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
f>>a[i][j];
k=1;
v[k]=-1;
while (k>0)
{
OK=0;
while((v[k]<1)&&(OK==0))
{v[k]=v[k]+1;
if (v[k])
flip(k);
OK=1;}
if(OK==1)
if(m==k)
{sum=0;
for(i=1;i<=n;i++)
{s=0;
for(j=1;j<=m;j++)
s=s+a[j][i];
if(s<0)
sum=sum-s;
else
sum=sum+s;}
if(sum>max)
max=sum;}
else
v[k+1]=-1;
else
{k=k-1;
if(v[k])
flip(k);}
}
h<<max;
f.close();
h.close();
return 0;
}