Cod sursa(job #572660)

Utilizator isabela-oanceaOancea Maria Isabela isabela-oancea Data 5 aprilie 2011 15:21:41
Problema Rj Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include<fstream>
using namespace std;
ifstream f("f.in");
ofstream g("f.out");
int n,i,j,k,s,pmin,p[100],x[100];
int succesor (int k)
{if (x[k]<p[k]&&k<=n)
	{x[k]++;
	return 1;
	}
return 0;
}
int valid(int k)
{return 1;
}
void back()
{int i,j,k;
k=1;
x[k]=-1;
while (k>0)
	{i=0;
	while (i==0&&succesor(k))
		if (valid (k))
			i=1;
	if (i==0)
		k--;
	else
		{s=0;
	for (j=1;j<=k;j++)
		s=s+x[j];
	if (s>=pmin)
		{for (j=1;j<=k;j++)
			g<<x[j]<<" ";
		for (j=k+1;j<=n;j++)
			g<<"0 ";
		g<<'\n';}
		k++;
		x[k]=1;
		}
	}
}
int main()
{f>>n>>pmin;
for (i=1;i<=n;i++)
	f>>p[i];
back();
f.close();
g.close();
return 0;
}