Cod sursa(job #515131)

Utilizator valentin.harsanValentin Harsan valentin.harsan Data 20 decembrie 2010 14:38:43
Problema Dezastru Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include<iostream>
#include<fstream>
using namespace std;
int sol[25],n,k,ss;
double sum,v[100];
bool marcat[9];
ifstream aa("dezastru.in");
ofstream dd("dezastru.out");
void back(int p);
bool verifica(int p);
int main () {
	aa >> n >> k;
	for (int i=1;i<=n;++i) {
		aa >> v[i];
	}
	back(1);
	dd << sum/ss;
	aa.close();
	dd.close();
	return 0;
}
void back(int p) {
	int i;
	double ssum=1;
	if (p>n) {
		++ss;
		for (i=1;i<=k;++i)
			ssum*=v[sol[i]];	
		sum+=ssum;
		return;
	}
	for(i=1;i<=n;++i) {
		if (!marcat[i]){
			sol[p]=i;
			marcat[i]=true;
			back(p+1);
			marcat[i]=false;
		}
	}
}