Cod sursa(job #548775)

Utilizator bogdan353Costea Bogdan bogdan353 Data 7 martie 2011 19:41:27
Problema Dezastru Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include<iostream>
#include<fstream>
#include<iomanip>
using namespace std;
int n,m,x[25];
float na[30],p,sum;


void afisare()
{
	p=1;
	for(int i=1;i<=m;i++)
		p=p*na[x[i]];
	
	sum=sum+p/6;
}

int valid(int k)
{
	for(int i=1;i<k;i++)
		if(x[k]==x[i]) return 0;
	return 1;
}

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

int main()
{
	ifstream f("dezastru.in");
	ofstream g("dezastru.out");
	
	f>>n;
	f>>m;
	
	for(int i=1;i<=n;i++)
		f>>na[i];
	back(1);
	g<< fixed << setprecision(6) << sum;
}