Cod sursa(job #717451)

Utilizator romircea2010FMI Trifan Mircea Mihai romircea2010 Data 19 martie 2012 22:15:53
Problema Dezastru Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <fstream>
#include <cstdio>

using namespace std;

int n, m, nrc, m1;
double a[28], sol;

void Read()
{
	ifstream f("dezastru.in");
	f>>n>>m;
	int i;
	for (i=1; i<=n; i++)
		f>>a[i];
	f.close();	
}

void back(int k, int s, double sum)
{
	if (k == m1)
	{
		sol += sum;
		nrc++;
	}
	else
	{
		int i;
		for (i=s + 1; i<=n-m+k; i++)
		{
			back(k+1, i, sum*a[i]);
		}
	}
}

void Solve()
{
	m1 = m+1;
	back(1, 0, 1);
}

void Write()
{
	ofstream g("dezastru.out");
	g<<sol/nrc<<"\n";
	g.close();
}

int main()
{
	Read();
	Solve();
	Write();
	return 0;
}