QOJ.ac

QOJ

时间限制: 1.0 s 内存限制: 256 MB 总分: 100 交互

#18098. Permainan Dadu

统计

Soal ini bersifat interaktif.

Di lotengnya, Taja menemukan sebuah permainan meja kuno yang hanya sesekali berhasil ia menangkan. Tunjukkan kepada Taja cara memenangkan permainan ini dengan pasti.

problem_18098_4b1c7a2c6460a61aca0b0094efd68c47.png

Perlengkapan permainan terdiri atas sebuah keping bundar berjari-jari $1$ dengan panah tergambar di atasnya, dua dadu, dan 360 stiker. Setiap stiker bertuliskan bilangan bulat yang unik, dari $0^\circ$ hingga $359^\circ$.

Sebelum mulai bermain, tandai sebuah titik di meja, lalu letakkan keping bundar di meja, kemudian pilih 12 stiker berbeda dan tempelkan 6 di antaranya pada dadu pertama serta enam lainnya pada dadu kedua.

Tujuannya adalah menutupi titik yang ditandai dengan keping. Ini harus dicapai dengan melakukan giliran menurut aturan berikut. Pertama, pemain melempar salah satu dadu dan memutar keping berlawanan arah jarum jam sebesar sudut dalam derajat yang tertulis pada sisi atas dadu. Kemudian keping bergerak searah panah sejauh $10$.

Koordinat titik yang ditandai selalu $(0, 0)$. Posisi awal pusat keping adalah $(x, y)$ dan memenuhi batasan berikut:

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

Jumlah kueri untuk soal ini sama dengan jumlah giliran yang dilakukan.

Interaksi

Interaktor memulai dengan memberikan koordinat pusat keping dan arah panahnya. Kemudian program Anda harus merespons dengan angka-angka yang ditempelkan pada kedua dadu. Selanjutnya, untuk setiap nomor dadu yang diberikan program Anda, interaktor mengeluarkan sudut dalam derajat yang ditunjukkan dadu dan menyatakan apakah keping telah mencapai tujuan. Jika keping sudah menutupi titik yang ditandai, program Anda harus berhenti. Jika belum, interaktor mengeluarkan posisi keping dan arah panahnya setelah gerakan tersebut, sehingga memulai giliran berikutnya.

Keluaran

Dua baris pertama keluaran masing-masing harus berisi 6 bilangan bulat dari $0$ hingga $359$, yaitu stiker untuk dadu pertama dan kedua secara berurutan. Semua bilangan bulat pada kedua baris ini harus berbeda.

Baris-baris berikutnya hanya boleh berisi 1 atau 2, yaitu nomor dadu yang akan dilempar.

Jangan lupa melakukan flush pada keluaran standar setelah mencetak setiap baris.

Masukan

Masukan terdiri atas kelompok-kelompok yang masing-masing berisi empat baris:

  1. $x, y$ — koordinat pusat keping;
  2. $v_x, v_y$ ($v_x^2 + v_y^2 = 10$) — arah panah keping;
  3. $d$ — sudut dalam derajat yang ditunjukkan dadu (setiap sisi dadu muncul dengan probabilitas yang sama);
  4. Yes — keping telah menutupi titik $(0, 0)$; No — jika belum.

Contoh

Masukan 1

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

Keluaran 1

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

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.