Cod sursa(job #260212)

Utilizator hazegirlCatalina Predoi hazegirl Data 16 februarie 2009 20:04:29
Problema Elimin Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
//elimin
#include<fstream.h>
int x[1001][1001],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[1001],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;
}