Cod sursa(job #42353)

Utilizator dan_10Dan Alexandru dan_10 Data 29 martie 2007 09:36:11
Problema Dezastru Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include<fstream.h>

int i,np,pg,n,k,x[100],j,s,t,p;
float a[100],ok,o;

int main ()
{       ifstream f("dezastru.in");
	ofstream g("dezastru.out");
	f>>n>>k;
	for(i=1;i<=n;i++)
	f>>a[i];
	np=1;
	for(i=1;i<=n;i++)
	np*=i;
	for(i=1;i<=n;i++)
	x[i]=i;
	pg=1;
	while (pg<=np)
	    {	t=1;i=n;
		while(t)
		{	s=x[i]+t;
			x[i]=s%(n+1);
			t=s/(n+1);
			i--;
		}
		p=0;
		for(j=1;j<=n;j++)
			if(x[j] != x[j+1] && x[j]!=0) p++;

		if(p==n){   pg++;ok=1;
			    for(j=1;j<=k;j++)
			      ok*=a[x[j]];
			      o+=ok/np;
			     
			}


	    }
	g<<o;
	return 0;
}