Cod sursa(job #699720)

Utilizator BarracudaFMI-Alex Dobrin Barracuda Data 29 februarie 2012 20:57:38
Problema Dezastru Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.49 kb
#include<fstream>
#define dim 30
using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
double v[dim],s;
int x[dim];
bool b[dim];
int n,c,i,nr;
void back(int k){
	if(k>c){
		double p=1;
		for(int i=1;i<=c;i++)
			p*=v[x[i]];
		s+=p;
		nr++;
		return ;
	}
	for(int i=1;i<=n;i++){
		if(!b[i]){
			b[i]=1;
			x[k]=i;
			back(k+1);
			b[i]=0;
		}
		
	}
	
	
}
int main (){
	f>>n>>c;
	for(i=1;i<=n;i++)
		f>>v[i];
	back(1);
	g<<s/nr;
	return 0;
}