Cod sursa(job #166627)

Utilizator c_e_manuEmanuel Cinca c_e_manu Data 28 martie 2008 10:55:58
Problema Dezastru Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.5 kb
#include<fstream.h>
#include<iomanip.h>
void back(int k);


int st[27],n,i,k,p,x;
float a[27],prob,solutie;


ifstream fin("dezastru.in");
ofstream fout("dezastru.out");
int main()
{       fin>>n>>p;st[0]=0;
	for(i=1;i<=n;i++)
		fin>>a[i];
	back(1);
	fout<<setprecision(6)<<solutie/x;
	return 0;
}

void back(int k)
{
	if(k==p+1)
	{	prob=1;
		for(i=1;i<=p;i++)
		prob*=a[st[i]];
		solutie+=2*prob;x+=2;
	}
	else
		for(i=st[k-1]+1;i<=n;i++)
		{       st[k]=i;
			back(k+1);
		}
}