Pagini recente » Cod sursa (job #3244188) | Cod sursa (job #896463) | Cod sursa (job #2303713) | Cod sursa (job #152299) | Cod sursa (job #1023241)
# include <fstream>
using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
int k, n, p,s[26],y;
double x, pb[26];
int as();
bool ev();
int sol();
void prod();
int main()
{
k = 1;s[k]=0;
f >> n >> p;
for (int i = 1; i <= n; i++)
f >> pb[i];
while(k>0)
{
while(as())
{
s[k]++;
if(ev()){
if(sol())prod();
else s[++k]=0;
}
}
k--;
}
g<<x/y;
f.close();
g.close();
return 0;
}
int as()
{
if(s[k] < n) return 1;
return 0;
}
bool ev()
{
for(int i=1;i<k;i++)
if(s[i]==s[k])
return 0;
return 1;
}
int sol()
{
if (k == p) return 1;
return 0;
}
void prod()
{
double r=1;
for (int i = 1; i <= p;i++)
r*=pb[s[i]];
x+=r;
y++;
}