Cod sursa(job #196511)

Utilizator nod_softwareBudisteanu Ionut Alexandru nod_software Data 27 iunie 2008 01:15:27
Problema Dezastru Scor 50
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.17 kb
program dezastru;
{$APPTYPE CONSOLE}
uses
  SysUtils;
var c,i,j,n,m,k,p:integer;
    fin,fout:text;
    sol:array [0..25] of integer;
    v:array [1..25] of real;
    x:array [1..25] of byte;
    rez,r:real;
{*-------------------------------*}
procedure back(k:integer);
var i:integer;
begin
        if k > p then
        Begin
                r:=1;
                For i:=1 to p do R:=R*V[sol[i]];
                inc(c);
                Rez:=Rez+R;
        End
        else
        begin
                for i:=1 to n do
                begin
                        sol[k]:=i;
                        if x[i] = 0 then
                        begin
                                x[i]:=1;
                                back(k+1);
                                x[i]:=0;
                        end;
                end;
        end;
end;
{*-------------------------------*}
begin
        assign(fin,'dezastru.in'); reset(fin);
        assign(fout,'dezastru.out'); rewrite(fout);

        readln(fin,n,p);
        FOr i:=1 to N do Read(fin,v[i]);
        back(1);

        Writeln(fout,rez/c:6:6);

        close(fin);
        close(fout);
end.