Cod sursa(job #256779)

Utilizator wscsprint3rIrimescu Stefan wscsprint3r Data 12 februarie 2009 10:16:15
Problema Dezastru Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<fstream.h>
ifstream f("dezastru.in");
ofstream g("dezastru.out");
int n,k,st[20],nr=0;
float s=0,p,v[26],rez;
void citire()
{
f>>n>>k;
for(int i=1;i<=n;i++)
f>>v[i];
}

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

void lucru(int k)
	{
	p=1.000000;
	for(int j=1;j<k;j++)
	p=p*v[st[j]];
	s=s+p;
	nr++;
	}


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


int main()
{
citire();

back(1);
g<<s/nr;
f.close();
g.close();
}