Zgłaszanie | Wszystkie zgłoszenia | Najlepsze | Lista |
FR_10_17 - Gra w karty |
Jasio i Stasio grają w nowo poznaną grę karcianą o nazwie "Wojenka". Zasady są zbliżone do gry, którą każdy z Was doskonale zna.
Zasady gry:
- Na stole leży n zakrytych kart
- Karty ponumerowane są od 1 do n
- Karty należą do zbioru małej talii (od dziewiątek do asów)
- Karta każdego rodzaju może wystąpić dowolną liczbę razy albo w ogóle
- Gra składa się z pewnej liczby partii
- Gracze rozpoczynają partie na przemian
- Pierwszą partię rozpoczyna Jasio
- Po każdej partii jeden z graczy otrzymuje 1 albo 4 punkty
- Wygrywa gracz, który po rozegraniu wszystkich partii uzyska większą liczbę punktów
Przebieg pojedynczej partii:
- Gracz, który rozpoczyna daną partię, podaje dwie liczby naturalne a i b tworzące przedział [a, b]
- Drugi gracz zgaduje, która karta występuje najczęściej w przedziale [a, b]
- Jeżeli jest kilka takich kart to zagadka dotyczy najmocniejszej z nich
- Jeżeli drugi gracz odgadnie kartę to otrzymuje 4 punkty, w przeciwnym wypadku 1 punkt otrzymuje gracz, który rozpoczynał partię
- Na koniec partii pewna liczba kart zostaje zamieniona miejscami
Odpowiedz na pytanie, jaki był wynik gry?
Wejście
W pierwszym wierszu znajduje się liczba kart n ∈ [2, 5×105].
W drugim wierszu podanych jest n kart. Każda karta zawiera się w zbiorze {9, 10, J, D, K A}.
W trzecim wierszu znajduje się liczba partii p ∈ [1, 105]. W kolejnych liniach znajdują się specyfikacje p partii.
Specyfikacja pojedynczej partii
W piewszym wierszu podane są dwie liczby całkowite a i b (1 ≤ a ≤ b ≤ n) definiujące przedział wskazany przez pierwszego gracza oraz karta ze zbioru {9, 10, J, D, K A}, którą obstawił drugi gracz.
W drugim wierszu znajduje się jedna liczba całkowita z ∈ [0, 1000] określająca liczbę zamian kart.
W kolejnych z wierszach podane są zamiany kart. Każda z nich składa się z dwóch liczb i oraz j oznaczających, że należy zamienić miejscami karty na pozycjach i oraz j.
Wyjście
Na wyjściu należy wypisać imię gracza, który wygrał (Jasio albo Stasio) oraz liczbę zdobytych przez niego punktów.
W przypadku gdy nie udało się wyłonić zwycięzcy wypisujemy napis remis oraz liczbę punktów zdobytych przez dowolnego z graczy.
Przykład
Wejście:
10 10 10 9 9 J D K K A A 2 1 9 A 3 1 2 1 10 8 2 1 10 9 1 1 2
Wyjście:
remis 1
Dodane przez: | Marcin Kasprowicz |
Data dodania: | 2018-12-20 |
Limit czasu wykonania programu: | 1s |
Limit długości kodu źródłowego | 50000B |
Limit pamięci: | 1536MB |
Cluster: | Cube (Intel G860) |
Języki programowania: | All except: ASM32-GCC MAWK BC C-CLANG NCSHARP CPP14-CLANG COBOL COFFEE D-CLANG D-DMD ELIXIR FANTOM FORTH GOSU GRV JS-MONKEY JULIA KTLN NIM OBJC OBJC-CLANG OCT PICO PROLOG R RACKET RUST SCM qobi CHICKEN SQLITE SWIFT UNLAMBDA VB.NET |