Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|
Dart
Jasiu bardzo lubi grać w rzutki (http://pl.wikipedia.org/wiki/Dart), popularną odmianę 01 (Double-out). Nasz bohater ma celne oko i wprawną rękę, sporo trenuje, ale słabo radzi sobie z liczeniem punktów i ma problemy z doborem kombinacji kończącej. Twoim zadaniem jest pomóc Jasiowi i dla zapytania wypisać wszystkie możliwe kombinacje kończącego lega lub słowo BRAK, gdy nie jest to możliwe.
Wersja Double-out różni się od amatorskiej sposobem zakończenia gry i obowiązuje na profesjonalnych rozgrywkach. Grę rozpoczyna się z wynikiem 501, a celem gry jest osiągnięcie wyniku dokładnie 0 poprzez rzucanie trzema lotkami i odejmowanie osiągniętej sumy od aktualnego wyniku. Aby zakończyć grę, należy trafić pozostałą do końca liczbę punktów, poprzez trafienie lotką w pole podwójne (zewnętrzny ring na tarczy).
Oznaczenia:
S - pole pojedyncze (single) - wartość pola × 1
D - pole podwójne (double) - wartość pola × 2
T - pole potrójne (triple) - wartość pola × 3
Bull - podwójny środek (liczone jako pole podwójne) - wartość: 50
25 - zwykły środek
Istnieje dokładnie jedenaście sposobów zakończenia lega z wynikiem 6.
1: D3
2: D1 D2
3: S2 D2
4: D2 D1
5: S4 D1
6: S1 S1 D2
7: S1 T1 D1
8: S1 S3 D1
9: D1 D1 D1
10: D1 S2 D1
11: S2 S2 D1
Należy zwrócić uwagę, że kombinacja D1 D2 jest różna od D2 D1, ponieważ kończy się innym wynikiem podwójnym, ale kombinacja S1 T1 D1 jest tożsama z kombinacją T1 S1 D1 i należy wypisać tylko tę pierwszą. W kombinacjach nie uwzględniamy nietrafień, Jasiu ma pewną rękę.
Wszystkie kombinacje należy posortować według priorytetu:
- liczby potrzebnych lotek do ukończenia lega
- porządku leksykograficznego wartości punktów
- porządku leksykograficznego wartości pól
Wejście
W pierwszym wierszu podana jest liczba zapytań n (n ≤ 200).
W kolejnych n wierszach jedna liczba naturalna w (2 ≤ w ≤ 501) oznaczająca aktualny wynik Jasia.
Wyjście
Dla każdego zapytania w należy wypisać "wynik w:" i dalej w kolejnych wierszach uporządkowane i ponumerowane wszystkie kombinacje prowadzące do zakończenia lega według specyfikacji podanej w treści zadania, albo słowo BRAK, gdy nie jest możliwe ukończenie lega w co najwyżej trzech rzutach. Pomiędzy zapytaniami podwójny znak końca linii, ale nie jest on wymagany.
Przykład
Wejście
4
5
155
8
162
Wyjście
wynik 5:
1: S1 D2
2: T1 D1
3: S3 D1
4: S1 D1 D1
5: S1 S2 D1
wynik 155:
1: T15 T20 Bull
2: T16 T19 Bull
3: T17 T18 Bull
4: T19 T20 D19
wynik 8:
1: D4
2: D1 D3
3: S2 D3
4: D2 D2
5: S4 D2
6: T2 D1
7: D3 D1
8: S6 D1
9: S1 S1 D3
10: S1 T1 D2
11: S1 S3 D2
12: S1 S5 D1
13: D1 D1 D2
14: D1 S2 D2
15: S2 S2 D2
16: D1 D2 D1
17: D1 S4 D1
18: S2 D2 D1
19: S2 S4 D1
20: T1 T1 D1
21: T1 S3 D1
22: S3 S3 D1
wynik 162:
BRAK
Dodane przez: | Mariusz Śliwiński |
Data dodania: | 2013-08-22 |
Limit czasu wykonania programu: | 1s
|
Limit długości kodu źródłowego | 20000B |
Limit pamięci: | 1536MB |
Cluster: |
Cube (Intel G860)
|
Języki programowania: | All except: ASM64 GOSU |