XI Olimpiada Informatyczna 2003/2004

Zadanie: zga

Zgadywanka

Zawody III stopnia, dzien probny  
Plik źródłowy: zga.*
Limit pamięci: 32 MB

Alternatywne formaty: PostScript PDF

Bajtazar stał się nałogowym hazardzistą. Wszystkie pieniądze przepuszcza w kasynie grając w "zgadywankę". Twierdzi, że można opracować system gry pozwalający wygrać z kasynem.

    Jedna rozgrywka zgadywanki polega na tym, że losujemy kolejno 9 różnych liczb rzeczywistych z przedziału (0;1), przy jednostajnym rozkładzie prawdopodobieństwa. Bezpośrednio po wylosowaniu każdej liczby należy od razu określić, która co do wielkości jest to liczba. Oczywiście nie da się tego przewidzieć, trzeba próbować to zgadnąć. Jeżeli trafnie określi się uporządkowanie wszystkich 9 liczb, wygrywa się. W przeciwnym przypadku przegrywa się. Jeśli, na przykład, pierwszą wylosowaną liczbę określimy jako drugą co do wielkości, a potem wylosujemy jeszcze dwie liczby mniejsze od niej, to przegramy.

Zadanie

Pomóż Bajtazarowi! Zaprogramuj jak najlepszą strategię grania w zgadywankę. Napisz program, który rozegra wiele rozgrywek opisanej gry i wygra jak najwięcej razy. Ocena Twojego programu będzie tym wyższa, im więcej rozgrywek on wygra. Dokładniej, za każdą wygraną kasyno płaci graczowi 423,99 bajtalarów, natomiast za każdą przegraną pobiera od gracza 13,53 bajtalarów. Twój program rozegra 10^6 rozgrywek. Otrzymasz tyle punktów, ile wynosi całkowity uzyskany zysk podzielony przez 10^4 i zaokrąglony do najbliższej liczby całkowitej z przedziału [0,100].
    Musisz zaprogramować moduł zawierający następujące trzy procedury i funkcje:

Pliki (Pascal)


W katalogu zga_pas znajdziesz następujące pliki:

Pliki (C/C++)


W katalogu zga_c / zga_cpp znajdziesz następujące pliki:

Rozwiązanie


Wynikiem Twojej pracy powinien być tylko jeden plik zga.c albo zga.cpp albo zga.pas.

Przykład


Przykładowa interakcja z programem może wyglądać następująco (pochyłym krojem zaznaczono liczby zwracane przez funkcję kolejna_liczba; rozegrano 2 rozgrywki):

Rozgrywka 1

        0.043319026120
        1
        0.933801434041
        8
        0.992050359372
        9
        0.145189967093
        4
        0.518803250649
        6
        0.093583048537
        2
        0.764309529654
        7
        0.338653748790
        5
        0.119437652934
        3                   Wygrana
      

Rozgrywka 2

0.164020610610 2 0.205594263575 3 0.042637391231 1 0.147521628974 1 Przegrana 0.946549875333 1 0.772946216573 1 0.152956276544 1 0.539653928563 1 0.552047936535 1