Cod sursa(job #2431132)
| Utilizator | Data | 18 iunie 2019 11:22:31 | |
|---|---|---|---|
| Problema | Dezastru | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.98 kb |
#include<fstream>
using namespace std;
ifstream cin("dezastru.in");
ofstream cout("dezastru.out");
int st[1000],n,k,i,o,perm=1;
bool valid, succesor;
float v[1000],pe,p=1;
int main()
{
k=1;
cin>>n>>o;
for(i=1;i<=n;i++){cin>>v[i];perm=perm*i;}
while(k)
{
do{
valid=1;
if(st[k]<n)
{
st[k]++;
succesor=1;
}else succesor=0;
if(succesor)
for(i=1;i<k;i++)
{
if(st[i]==st[k])
{
valid=0;
}
}
}while(!valid&&succesor);
if(succesor)
{
if(k==o)
{
p=1;
for(i=1;i<=o;i++)
{
p=p*v[st[i]];
}
pe=pe+p;
}
else
{
k++;st[k]=0;
}
}
else k--;
}
cout<<pe/perm;
}
