Cod sursa(job #549713)

Utilizator bogdan353Costea Bogdan bogdan353 Data 8 martie 2011 21:26:24
Problema Dezastru Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include<iostream>
#include<fstream>
#include<iomanip>
using namespace std;
int n,m,x[25],per,per2;
float na[30],p,sum;


void afisare()
{
	p=1;
	for(int i=1;i<=m;i++)

		p=p*na[x[i]];
	
	

		
	sum=sum+(per2*p);

}

void back(int k)
{
	for(int i=1;i<=n;i++)
	{
		x[k]=i;
		
	
			if(x[k]>x[k-1])
				if(k==m)
				afisare();
			else
				back(k+1);
	}
}

int main()
{
	ifstream f("dezastru.in");
	ofstream g("dezastru.out");
	
	f>>n;
	f>>m;
	per=1;
	per2=1;
	for(int i=1;i<=m;i++)
		per2=per2*i;


	for(int i=1;i<=n;i++)
		{
			f>>na[i];
			per=per*i;
		}
	back(1);
	sum=sum/per;
	g<< fixed << setprecision(6) << sum;
}