Cod sursa(job #696763)

Utilizator johnny2008Diaconu Ion johnny2008 Data 28 februarie 2012 19:58:03
Problema Dezastru Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include<fstream>
#include<iostream>
using namespace std;
double n,m,sol[26],a[26];
bool viz[26];
double sum=0;
int ct;
void back(int k){
	int i;
	if(k==m+1){
		double prob=1;
		for(i=1;i<=m;i++){
			prob=prob*sol[i];
		}
		sum=sum+prob;
		ct++;
	}
	else{
	for(i=1;i<=n;i++){
		if(viz[i]==0){
			viz[i]=1;
			sol[k]=a[i];
			back(k+1);
			viz[i]=0;
		}
	}
	}
}
			
int main(){
	ifstream f("dezastru.in");
	ofstream g("dezastru.out");
	f>>n>>m;
	int i;
	for(i=1;i<=n;i++){
		f>>a[i];
	}
	back(1);
	g<<(double)sum/ct;
	return 0;
}