Universal Cup Judging System

Universal Cup

Límite de tiempo: 2.0 s Límite de memoria: 1024 MB Puntuación total: 100 Interactivo
Estadísticas

給定一棵具有 $N$ 個頂點的樹 $T = (V, E)$。對於一個長度為 $k$ 的頂點序列 $\{a_1, \dots, a_k\}$,定義其分數如下:

  • 令 $d(u, v)$ 為樹 $T$ 中頂點 $u$ 與 $v$ 之間路徑上的邊數。則分數為 $\prod_{i=1}^{k} d(a_i, a_{(i \pmod k)+1)}$。

給定一個 $V$ 的子集 $S$。對於每個 $1 \le k \le N$,求出以下數值 $q_k$:

  • 所有元素皆屬於 $S$ 的長度為 $k$ 的頂點序列 $\{a_1, \dots, a_k\}$ 的分數總和,取模 $2^{61} - 1$。

KUPC-kun 事先秘密保存了樹 $T$ 的資訊,並持續使用該 $T$ 作為提供給程式的樹。你試圖透過上述程式來恢復樹中葉節點的資訊。令樹的頂點數為 $N$,你最多可以詢問 $N$ 次以下問題:

  • 選擇一個 $V$ 的子集 $S$ 並詢問程式的輸出。

假設 KUPC-kun 的程式是正確的,請根據透過詢問獲得的資訊,識別出樹 $T$ 中包含的所有葉節點。評測系統不是適應性的(non-adaptive),樹 $T$ 在互動開始前即已固定。

互動

首先,從標準輸入讀入 $N$。($2 \le N \le 50$)

對於每次詢問,請以以下格式輸出至標準輸出: ? s1s2 · · · sN

其中 s1s2 · · · sN 是一個長度為 $N$ 的字串,代表子集 $S$,若 $i \in S$ 則 $s_i = 1$,若 $i \notin S$ 則 $s_i = 0$。

作為回應,從標準輸入讀入以下內容: q1 q2 · · · qN

當你識別出所有葉節點後,請以以下格式輸出你的答案: ! t1t2 · · · tN

其中 t1t2 · · · tN 是一個長度為 $N$ 的字串,若 $i$ 是葉節點則 $t_i = 1$,若 $i$ 不是葉節點則 $t_i = 0$。

輸出此答案後,請立即終止你的程式。每當你輸出內容時,請在末尾加上換行符號並刷新標準輸出。

範例

輸入格式 1

5
0 8 0 32 0
0 44 108 968 3960
0 0 0 0 0
0 76 348 3336 22200

輸出格式 1

? 00101
? 11001
? 10000
? 11111
! 11001

說明

對於第一個範例,評測系統秘密持有的樹的邊集為 $(1, 3), (2, 3), (3, 4), (4, 5)$。在第一次詢問中,$S = \{3, 5\}$。注意 $d(3, 3) = 0, d(3, 5) = d(5, 3) = 2, d(5, 5) = 0$。

例如,有以下 4 個元素皆屬於 $S$ 的長度為 2 的頂點序列 $a$:

  • 若 $a = (3, 3)$,則此序列的分數為 $d(3, 3) \times d(3, 3) = 0 \times 0 = 0$
  • 若 $a = (3, 5)$,則此序列的分數為 $d(3, 5) \times d(5, 3) = 2 \times 2 = 4$
  • 若 $a = (5, 3)$,則此序列的分數為 $d(5, 3) \times d(3, 5) = 2 \times 2 = 4$
  • 若 $a = (5, 5)$,則此序列的分數為 $d(5, 5) \times d(5, 5) = 0 \times 0 = 0$

評測系統回應 $q_2 = 8$,這是 $0 + 4 + 4 + 0$ 除以 $2^{61} - 1$ 的餘數。透過對其他序列長度進行類似計算,我們得到評測系統的回應 0 8 0 32 0。此樹的葉節點為頂點 $1, 2, 5$,輸出 ! 11001 即可正確完成葉節點的識別。

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
#1529EditorialOpen题解jiangly2026-04-15 16:04:40View

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.