Pagini recente » Cod sursa (job #2818011) | Cod sursa (job #2137909) | Cod sursa (job #793297) | Cod sursa (job #1984756) | Cod sursa (job #260210)
Cod sursa(job #260210)
//elimin
#include<fstream.h>
int x[101][101],n,m,r,c,smax=-32000;
void coloane(int a, int cate)
{
if(cate==r)
{int s=0,i,j;
for(i=1;i<=m;++i)
for(j=1;j<=n;++j)
s+=x[i][j];
if(s>smax) smax=s;
}
else if(a<=n)
{int v[101],i;
coloane(a+1,cate);
for(i=1;i<=m;++i)
{v[i]=x[i][a];
x[i][a]=0;
}
coloane(a+1,cate+1);
for(i=1;i<=m;++i)
x[i][a]=v[i];
}
}
void linii(int a, int cate)
{int i, v[101],j;
if(cate==c) coloane(1,0);
else if(a<=m)
{linii(a+1,cate);
for(i=1;i<=n;++i)
{v[i]=x[a][i];
x[a][i]=0;
}
linii(a+1,cate+1);
for(i=1;i<=n;++i)
x[a][i]=v[i];
}
}
int main()
{ int i,j,s;
ifstream f("elimin.in");
ofstream g("elimin.out");
f>>m>>n>>r>>c;
for(i=1;i<=m;++i)
{s=0;
for(j=1;j<=n;++j)
{f>>x[i][j];
s+=x[i][j];
}
x[i][0];
}
linii(1,0);
g<<smax;
f.close();
g.close();
return 0;
}