Universal Cup Judging System

Universal Cup

時間限制: 2.0 s 記憶體限制: 1024 MB 總分: 100 互動
统计

Dies ist ein interaktives Problem.

KUPC-kun hat ein Programm geschrieben, das das folgende Problem löst.

Gegeben ist ein Baum $T = (V, E)$ mit $N$ Knoten. Für eine Folge $\{a_1, \dots, a_k\}$ von Knoten aus $T$ der Länge $k$ wird ihr Score wie folgt definiert. - Sei $d(u, v)$ die Anzahl der Kanten auf dem Pfad zwischen den Knoten $u$ und $v$ in $T$. Dann ist der Score $\prod_{i=1}^k d(a_i, a_{(i \bmod k)+1})$.

Eine Teilmenge $S$ von $V$ ist gegeben. Bestimme für jedes $1 \le k \le N$ den folgenden Wert $q_k$. - Die Summe der Scores über alle Knotenfolgen $\{a_1, \dots, a_k\}$ der Länge $k$, deren Elemente zu $S$ gehören, modulo $2^{61} - 1$.

KUPC-kun hält die Informationen über den Baum $T$ im Voraus geheim und verwendet $T$ durchgehend als den an das Programm übergebenen Baum.

Du versuchst, mithilfe des obigen Programms die Informationen über die Blätter zu rekonstruieren. Wenn die Anzahl der Knoten des Baums $N$ beträgt, darfst du höchstens $N$-mal die folgende Frage stellen.

  • Wähle eine Teilmenge $S$ von $V$ und frage nach der Ausgabe des Programms.

Unter der Annahme, dass KUPC-kuns Programm korrekt ist, identifiziere anhand der durch die Fragen gewonnenen Informationen alle im Baum $T$ enthaltenen Blätter.

Der Judge ist nicht adaptiv, und der Baum $T$ steht vor Beginn der Interaktion fest.

Interaktionsprotokoll

Zuerst wird $N$ über die Standardeingabe eingelesen. ($2 \le N \le 50$)

Gib für jede Frage im folgenden Format auf der Standardausgabe aus.

? s1s2...sN

Hierbei ist $s_1s_2\cdots s_N$ eine Zeichenkette der Länge $N$, die die Teilmenge $S$ darstellt, wobei $s_i = 1$ gilt, falls $i \in S$, und $s_i = 0$, falls $i \notin S$.

Als Antwort wird Folgendes über die Standardeingabe gegeben.

q1 q2 ... qN

Sobald du alle Blätter identifiziert hast, gib deine Antwort im folgenden Format aus.

! t1t2...tN

Hierbei ist $t_1t_2\cdots t_N$ eine Zeichenkette der Länge $N$, wobei $t_i = 1$ gilt, falls $i$ ein Blatt ist, und $t_i = 0$, falls es kein Blatt ist.

Beende dein Programm unmittelbar nach dieser Ausgabe.

Füge bei jeder Ausgabe am Ende einen Zeilenumbruch an und leere den Ausgabepuffer (flush).

Beispiel

Beispieleingabe 1

5

0 8 0 32 0

0 44 108 968 3960

0 0 0 0 0

0 76 348 3336 22200

Beispielausgabe 1

? 00101

? 11001

? 10000

? 11111

! 11001

Hinweis

Für das erste Beispiel lautet die vom Judge geheim gehaltene Kantenmenge des Baums $(1, 3), (2, 3), (3, 4), (4, 5)$.

In der ersten Frage ist $S = \{3, 5\}$.

Beachte, dass $d(3, 3) = 0, d(3, 5) = d(5, 3) = 2, d(5, 5) = 0$ gilt.

Beispielsweise gibt es die folgenden $4$ Knotenfolgen $a$ der Länge $2$, deren Elemente zu $S$ gehören.

  • Falls $a = (3, 3)$, beträgt der Score dieser Folge $d(3, 3) \times d(3, 3) = 0 \times 0 = 0$.
  • Falls $a = (3, 5)$, beträgt der Score dieser Folge $d(3, 5) \times d(5, 3) = 2 \times 2 = 4$.
  • Falls $a = (5, 3)$, beträgt der Score dieser Folge $d(5, 3) \times d(3, 5) = 2 \times 2 = 4$.
  • Falls $a = (5, 5)$, beträgt der Score dieser Folge $d(5, 5) \times d(5, 5) = 0 \times 0 = 0$.

Der Judge antwortet mit $8$ für $q_2$, was dem Rest bei der Division von $0 + 4 + 4 + 0$ durch $2^{61} - 1$ entspricht.

Durch analoge Berechnung für die anderen Folgenlängen erhalten wir die Antwort 0 8 0 32 0 des Judges.

Die Blätter dieses Baums sind die Knoten $1, 2, 5$, und die Ausgabe von ! 11001 schließt die Identifizierung der Blätter korrekt ab.

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.