Universal Cup Judging System

Universal Cup

Time Limit: 2.0 s Memory Limit: 1024 MB Total points: 100 Interactive
Statistics

Ini adalah soal interaktif.

KUPC-kun menulis sebuah program yang menyelesaikan permasalahan berikut.

Diberikan sebuah pohon $T = (V, E)$ dengan $N$ simpul. Untuk sebuah barisan $\{a_1, \dots, a_k\}$ dari simpul-simpul $T$ dengan panjang $k$, definisikan skornya sebagai berikut. - Misalkan $d(u, v)$ adalah banyaknya sisi pada lintasan antara simpul $u$ dan $v$ di $T$. Maka skornya adalah $\prod_{i=1}^k d(a_i, a_{(i \bmod k)+1})$.

Diberikan sebuah himpunan bagian $S$ dari $V$. Untuk setiap $1 \le k \le N$, carilah nilai $q_k$ berikut. - Jumlah skor dari semua barisan simpul $\{a_1, \dots, a_k\}$ dengan panjang $k$ yang elemen-elemennya termasuk dalam $S$, diambil modulo $2^{61} - 1$.

KUPC-kun secara rahasia menyimpan informasi pohon $T$ terlebih dahulu, dan terus menggunakan $T$ sebagai pohon yang diberikan ke program tersebut.

Anda mencoba memulihkan informasi daun-daunnya menggunakan program di atas. Misalkan banyaknya simpul pada pohon adalah $N$, Anda dapat mengajukan pertanyaan berikut paling banyak $N$ kali.

  • Pilih sebuah himpunan bagian $S$ dari $V$ dan tanyakan keluaran dari program tersebut.

Dengan asumsi bahwa program KUPC-kun benar, identifikasilah semua daun yang terdapat pada pohon $T$ dari informasi yang diperoleh melalui pertanyaan-pertanyaan tersebut.

Judge tidak bersifat adaptif, dan pohon $T$ sudah ditetapkan sebelum interaksi dimulai.

Protokol Interaksi

Pertama, $N$ diberikan dari masukan standar. ($2 \le N \le 50$)

Untuk setiap pertanyaan, keluarkan ke keluaran standar dalam format berikut.

? s1s2...sN

Di sini, $s_1s_2\cdots s_N$ adalah string dengan panjang $N$ yang menyatakan himpunan bagian $S$, dengan $s_i = 1$ jika $i \in S$, dan $s_i = 0$ jika $i \notin S$.

Sebagai respons, hal berikut diberikan dari masukan standar.

q1 q2 ... qN

Setelah Anda mengidentifikasi semua daun, keluarkan jawaban Anda dalam format berikut.

! t1t2...tN

Di sini, $t_1t_2\cdots t_N$ adalah string dengan panjang $N$, dengan $t_i = 1$ jika $i$ adalah daun, dan $t_i = 0$ jika bukan daun.

Setelah keluaran ini, segera hentikan program Anda.

Setiap kali Anda mengeluarkan sesuatu, tambahkan baris baru di bagian akhir dan lakukan flush pada keluaran standar.

Contoh

Contoh Masukan 1

5

0 8 0 32 0

0 44 108 968 3960

0 0 0 0 0

0 76 348 3336 22200

Contoh Keluaran 1

? 00101

? 11001

? 10000

? 11111

! 11001

Catatan

Untuk contoh pertama, himpunan sisi dari pohon yang disimpan secara rahasia oleh judge adalah $(1, 3), (2, 3), (3, 4), (4, 5)$.

Pada pertanyaan pertama, $S = \{3, 5\}$.

Perhatikan bahwa $d(3, 3) = 0, d(3, 5) = d(5, 3) = 2, d(5, 5) = 0$.

Sebagai contoh, terdapat $4$ barisan simpul $a$ berikut dengan panjang $2$ yang elemen-elemennya termasuk dalam $S$.

  • Jika $a = (3, 3)$, maka skor dari barisan ini adalah $d(3, 3) \times d(3, 3) = 0 \times 0 = 0$.
  • Jika $a = (3, 5)$, maka skor dari barisan ini adalah $d(3, 5) \times d(5, 3) = 2 \times 2 = 4$.
  • Jika $a = (5, 3)$, maka skor dari barisan ini adalah $d(5, 3) \times d(3, 5) = 2 \times 2 = 4$.
  • Jika $a = (5, 5)$, maka skor dari barisan ini adalah $d(5, 5) \times d(5, 5) = 0 \times 0 = 0$.

Judge merespons dengan $8$ untuk $q_2$, yang merupakan sisa pembagian $0 + 4 + 4 + 0$ dengan $2^{61} - 1$.

Dengan menghitung secara serupa untuk panjang barisan lainnya, kita memperoleh respons judge 0 8 0 32 0.

Daun-daun dari pohon ini adalah simpul $1, 2, 5$, dan mengeluarkan ! 11001 dengan benar menyelesaikan identifikasi daun-daun tersebut.

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
#1529EditorialOpen题解jianglyView

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.