Pagini recente » Cod sursa (job #687405) | Cod sursa (job #796272) | Cod sursa (job #1626902) | Cod sursa (job #2193662) | Cod sursa (job #687492)
Cod sursa(job #687492)
#include<fstream>
using namespace std;
int c[17],l[17],n,m,s,smax,x[17];
ifstream f("flip.in");
ofstream g("flip.out");
int verif(int i)
{
if(i==1)
return 1;
if(x[i]<=x[i-1])
return 0;
return 1;
}
void back(int i)
{
int j,k;
for(j=-n;j<=m;j++)
if(j!=0)
{
x[i]=j;
if(verif(i))
{
if(x[i]<0)
s=s-2*l[-x[i]];
else
s=s-2*c[x[i]];
if(s>smax)
smax=s;
back(i+1);
if(x[i]<0)
s=s+2*l[-x[i]];
else
s=s+2*c[x[i]];
}
}
}
int main()
{
int i,j,a[17][17];
f>>n>>m;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
f>>a[i][j];
c[j]=c[j]+a[i][j];
l[i]=l[i]+a[i][j];
s=s+a[i][j];
}
smax=s;
back(1);
g<<smax;
f.close();
g.close();
return 0;
}