Cod sursa(job #830095)

Utilizator Mihnea35Gall Mihnea Mihnea35 Data 6 decembrie 2012 13:18:14
Problema Dezastru Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <fstream>
#include <iomanip>
using namespace std;

int x[26],viz[26],n,k,nr;
float p[26],s;

void citire ()  {     
	int i;     
	ifstream f ("dezastru.in");     
	f >> n >> k;     
	for (i=1;i<=n;i++)         
		f >> p[i];
	}   
void actualizare (float pr) {     
	s+=2*pr*p[x[k]]; }   

inline void back (int vf, float pr) {     
	int i;     
	for (i=x[vf-1]+1;i<=n-k+vf;i++) 
	{         
		x[vf]=i;         
		if (vf==k) {             
			nr+=2;             
			actualizare(pr);             
		}         
		else back(vf+1, pr*p[x[vf]]);        
	} 
}   
int main () {    
	citire();     
	back(1,1);     
	ofstream g ("dezastru.out");     
	g << fixed;
	g <<setprecision(6)<<s/nr;
	return 0; 
}