Pagini recente » Cod sursa (job #2585288) | Cod sursa (job #370567) | Cod sursa (job #1619555) | Cod sursa (job #335346) | Cod sursa (job #51718)
Cod sursa(job #51718)
#include<fstream.h>
long m[17][17],suma, smax=-1000000;
int n,nn;
void linii(int b)
{int j;
if(b==n+1) {if(suma>smax) smax=suma;
/* suma=0;*/ return;}
else { for (j=1;j<=nn;j++)
suma+=m[b][j];
linii(b+1);
for(j=1;j<=nn;j++)
{suma-=2*m[b][j];
m[b][j]=-m[b][j];}
linii(b+1);
for(j=1;j<=nn;j++)
{m[b][j]=-m[b][j];
suma+=m[b][j];}
}
return;
}
void coloane(int a)
{int i;
if(a==nn+1) linii(1);
else { coloane(a+1);
for(i=1;i<=n;i++)
m[i][a]=-m[i][a];
coloane(a+1);
for(i=1;i<=n;i++)
m[i][a]=-m[i][a];
}
return;
}
int main()
{int i,j;
ifstream f("flip.in");
ofstream g("flip.out");
f>>n>>nn;
for(i=1;i<=n;i++)
for(j=1;j<=nn;j++)
f>>m[i][j];
coloane(1);
g<<smax;
g.close();
return 0;
}