Cod sursa(job #782132)

Utilizator IliesiDanielDaniel IliesiDaniel Data 25 august 2012 23:18:08
Problema Dezastru Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <iostream>
#include <iomanip>
#include <fstream>

using namespace std;

ifstream fin("dezastru.in");
ofstream fout("dezastru.out");

int st[30], N, K, nr, i, j;
float v[30], prod, S;

void back(int k)
{
	int i;

	for(i=1; i<=N; i++)
	{
		st[k]=i;

		for(j=1; j<k; j++)
			if(st[j]==st[k])
				j=N+2;

		if(j!=N+3)	if(k==K){
								++nr;
								prod=1;

								for(j=1; j<=k; j++)
									prod*=v[st[j]];

								S+=prod;
							}
					else 	if(k<K)		back(k+1);
	}
}

int main()
{
	fin>>N>>K;

	for(i=1; i<=N; i++)
		fin>>v[i];

	back(1);

	fout<<setprecision(6)<<S/nr;

	fin.close();
	fout.close();
	return 0;
}