Pagini recente » Cod sursa (job #2803575) | Cod sursa (job #2835013) | Cod sursa (job #620472) | Cod sursa (job #1884063) | Cod sursa (job #37588)
Cod sursa(job #37588)
{ Dezastru/preONI 2007 runda 4 }
{ Generare permutari }
program sdf;
var n,i,q,j:byte;
m:longint;
x:array[1..25] of real;
p,uz:array[1..25]of integer;
tot:real;
f:text;
{ procedura pt determinare probabilitati }
procedure probabilitati;
var i:integer;s:real;
begin
s:=1;
for i:=1 to q do s:=s*x[p[i]];
tot:=tot+s/m;
end;
{ procedura pt generare permutari }
procedure GenPermutari(k:integer);
var i:integer;
begin
if k-1=n then probabilitati
else
for i:=1 to n do
if uz[i]=0 then begin
p[k]:=i;uz[i]:=1;
GenPermutari(k+1);
uz[i]:=0;
end;
end;
begin
{ citire date de intrare }
assign(f,'dezastru.in');reset(f);
readln(f,n,q);
for j:=1 to n do read(f,x[j]);
close(f);
{ n! }
m:=1;
for i:=2 to n do m:=m*i;
{ Determinare nr cerut }
tot:=0;
GenPermutari(1);
{ afisare }
assign(f,'dezastru.out');rewrite(f);
write(f,tot:7:6);
close(f);
end.