![]() |
| ||||||||
|
![]() | ||||||||
Zadanie: zga Zgadywanka
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].
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ązanieWynikiem Twojej pracy powinien być tylko jeden plik zga.c albo zga.cpp albo zga.pas. PrzykładPrzykł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
![]() Wersja do druku | |||||||||