Cod sursa(job #572619)

Utilizator isabela-oanceaOancea Maria Isabela isabela-oancea Data 5 aprilie 2011 14:51:53
Problema Rj Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include<fstream>
using namespace std;
ifstream f("f.in");
ofstream g("f.out");
int n,i,k,s,p,s1,v[100],x[100];
int succesor(int k)
{if (x[k]<2&&k<=n)
	{x[k]++;
	return 1;
	}
return 0;
}
int valid (int k)
{int i;

return 1;
}
void back()
{int i,k;
k=1;
x[k]=0;
while (k>0)
	{i=0;
	while(i==0&&succesor(k))
		if (valid(k))
			i=1;
	if (i==0)
		k--;
	else
		if (k==n)
		{s=0;
for (i=1;i<=k;i++)
	if (x[i]==1)
		s=s+v[i];
	else
		s=s-v[i];
	if(s==s1)
			{for (i=1;i<=k;i++)
				if (x[i]==1)
					g<<"+";
				else
					g<<"-";
			g<<'\n';
			}}
		else
			{k++;
			x[k]=0;
			}
	}
}
int main()
{f>>n>>s1;
for (i=1;i<=n;i++)
	f>>v[i];
back();
f.close();
g.close();
return 0;
}