Cod sursa(job #404386)

Utilizator maditzaaciuca madalina maditzaa Data 26 februarie 2010 08:44:01
Problema Dezastru Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <iostream.h>
#include <fstream.h>
ifstream f("dezastru.in");
ofstream g("dezastru.out");

float v[27],sum,s;
int x[27],k,n,i,p,nr;


void citire(){
	f>>n>>p;
	for(i=1;i<=n;i++)
		f>>v[i];
	
}

void  sol(int k){
	s=1;
	for(i=1;i<=p;i++)
		s=s*v[x[i]];
	sum=sum+s;
}
int  cont(int k){
	for(i=1;i<k;i++)
		if(x[i]==x[k])
			return 0;
	return 1;
}

void back(){
	k=1;
	x[k]=0;
	while(k>0)
		if(x[k]<n){
			x[k]++;
			if(cont(k))
				if(k==n){
					sol(k);
					nr++;
				}
				else {
				k++;
				x[k]=0;
				}
		}
		else k--;
}
int main(){
	citire();
	back();
	s=sum/nr;
	g<<s;
	
}