Cod sursa(job #612481)
Utilizator | Data | 7 septembrie 2011 23:55:09 | |
---|---|---|---|
Problema | Dezastru | Scor | 40 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.47 kb |
#include<fstream.h>
int n,K,s=0;
float v[25],a[25],ss=0.0;
void afis(int k)
{s++;
float p=1.0;
for(int i=1;i<=k;i++)
p=p*v[i];
ss=ss+p;}
bool valid(int k)
{for(int i=1;i<k;i++)
if(v[i]==v[k])
return 0;
return 1;}
void back(int k)
{for(int i=1;i<=n;i++)
{v[k]=a[i];
if(valid(k)==1)
if(k==K)
afis(k);
else
back(k+1);}}
int main()
{ifstream f("dezastru.in");
ofstream h("dezastru.out");
f>>n>>K;
for(int i=1;i<=n;i++)
f>>a[i];
back(1);
h<<ss/s;
return 0;}