QOJ.ac

QOJ

حد الوقت: 1.0 s حد الذاكرة: 256 MB مجموع النقاط: 100 تفاعلية

#18098. Gra w kości

الإحصائيات

To zadanie jest interaktywne.

Na strychu Taja znalazła starożytną grę planszową, w którą udawało jej się wygrywać tylko od czasu do czasu. Pokaż Taji, jak wygrać tę grę z gwarancją sukcesu.

Wyposażenie gry składa się z okrągłego pionka o promieniu 1, na którym narysowana jest strzałka, dwóch kostek oraz 360 naklejek. Na każdej naklejce zapisana jest unikalna liczba całkowita od $0^\circ$ do $359^\circ$.

Przed rozpoczęciem gry należy zaznaczyć punkt na stole, następnie umieścić na nim okrągły pionek, a potem wybrać 12 różnych naklejek, z których 6 należy przykleić na pierwszej kostce, a pozostałe 6 na drugiej. Celem gry jest przykrycie zaznaczonego punktu pionkiem. Należy to osiągnąć, wykonując ruchy zgodnie z następującą zasadą: najpierw gracz rzuca jedną z kostek i obraca pionek przeciwnie do ruchu wskazówek zegara o liczbę stopni zapisaną na górnej ściance kostki. Następnie pionek przesuwa się w kierunku wskazywanym przez strzałkę o odległość 10.

Współrzędne zaznaczonego punktu to zawsze $(0, 0)$. Pozycja początkowa środka pionka to $(x, y)$, która spełnia następujący warunek:

$$2 \leq \max(|x|, |y|) \leq 500$$

Liczba zapytań w tym zadaniu jest równa liczbie wykonanych ruchów.

Interakcja

Interaktor rozpoczyna od podania współrzędnych środka pionka oraz kierunku jego strzałki. Następnie Twój program powinien odpowiedzieć liczbami naklejonymi na obu kostkach. Potem, dla każdej liczby kostki podanej przez Twój program, interaktor wypisuje liczbę stopni wskazaną przez kostkę i informuje, czy pionek osiągnął cel. Jeśli pionek przykrył zaznaczony punkt, Twój program powinien zakończyć działanie. W przeciwnym razie interaktor wypisuje wynikową pozycję pionka oraz jego strzałki, inicjując w ten sposób kolejny ruch.

Wyjście

Pierwsze dwie linie wyjścia powinny zawierać po 6 liczb całkowitych z zakresu od 0 do 359 — naklejki odpowiednio dla pierwszej i drugiej kostki. Wszystkie liczby całkowite w tych liniach muszą być unikalne.

Kolejne linie powinny zawierać tylko liczbę 1 lub 2 — numer kostki, którą należy rzucić.

Nie zapomnij opróżnić bufora standardowego wyjścia po wypisaniu każdej linii.

Wejście

Wejście składa się z czwórek linii:

  1. $x, y$ — współrzędne środka pionka;
  2. $v_x, v_y$ ($v_x^2 + v_y^2 = 10$) — kierunek strzałki pionka;
  3. $d$ — liczba stopni wskazana na kostce (każda ścianka kostki wypada z takim samym prawdopodobieństwem);
  4. «Yes» — pionek przykrył punkt $(0, 0)$, «No» — w przeciwnym razie.

Przykład

Wejście 1

10.000000000 -10.000000000
0.000000000 -10.000000000
180
No
10.000000000 0.000000000
0.000000000 10.000000000
90
Yes

Wyjście 1

180 96 250 187 319 6
295 152 82 90 32 334
1
2

Figure 1. Ilustracja kostek używanych w grze.

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.