Pagini recente » Cod sursa (job #1116096) | Cod sursa (job #2226076) | Cod sursa (job #2332284) | Istoria paginii runda/simulareinfo_oji_7_9/clasament | Cod sursa (job #419706)
Cod sursa(job #419706)
#include<stdio.h>
#define dim 150
FILE*f=fopen("dezastru.in","r");
FILE*g=fopen("dezastru.out","w");
int x[dim],n,s,j,z;
char ok,viz[dim];
float v[dim],w[dim],suma,r,p;
void back(int k){
int i;
if(k==s+1){
/*for(i=1;i<=s;i++)
fprintf(g,"%d ",x[i]);
fprintf(g,"\n");
*/
p=1;
for(i=1;i<=s;i++)
p*=v[x[i]];
w[++z]=p;
return;
}
for(i=1;i<=n;i++){
if(viz[i]==0){
x[k]=i;
viz[i]=1;
back(k+1);
viz[i]=0;
}
}
}
int main () {
fscanf(f,"%d %d",&n,&s);
for(j=1;j<=n;j++)
fscanf(f,"%f",&v[j]);
back(1);
for(j=1;j<=z;j++){
suma+=w[j];
}
r=suma/z;
fprintf(g,"%.6f",r);
fclose(f);
fclose(g);
return 0;
}