QOJ.ac

QOJ

Time Limit: 2.0 s Memory Limit: 2048 MB Interactive

#22859. DAG 上的最長路

Statistics

這是一道互動題。

給定一個正整數 $N$ 和一個長度為 $N$ 的序列 $S = (S_1, S_2, \ldots, S_N)$,其中每個元素都是 $0$ 或 $1$。

有一個包含 $N$ 個頂點的有向二分圖 $G$,頂點編號為 $1, 2, \ldots, N$。圖 $G$ 的每個頂點都被塗色:若 $S_v = 0$,則頂點 $v$ 為白色;若 $S_v = 1$,則為黑色。圖 $G$ 中的每條有向邊 $(u, v)$ 都同時滿足以下兩個條件:

  • $u < v$。
  • 頂點 $u$ 和頂點 $v$ 的顏色不同。

評測機隱藏了圖 $G$,不會直接給出關於其邊的任何資訊。相對地,你可以向評測機發送以下兩種類型的查詢,總計最多 $15000$ 次查詢:

  • in $u$ $V$:針對一個黑色頂點 $u$ 以及一個由零個或多個白色頂點組成的集合 $V$ 向評測機提問。評測機會回答集合 $V$ 中是否存在頂點 $v$ 使得有向邊 $(v, u)$ 存在。
  • out $u$ $V$:針對一個黑色頂點 $u$ 以及一個由零個或多個白色頂點組成的集合 $V$ 向評測機提問。評測機會回答集合 $V$ 中是否存在頂點 $v$ 使得有向邊 $(u, v)$ 存在。

請輸出圖 $G$ 中任意一條最長路。

注意,隱藏的圖 $G$ 在互動開始前就已經固定,且不會改變。

互動

首先,從標準輸入給定一個整數 $N$($2 \le N \le 500$)。下一行包含 $N$ 個整數 $S_1, S_2, \ldots, S_N$,每個數都是 $0$ 或 $1$,以空格分隔。

$$ \begin{aligned} &N \\ &S_1 \ S_2 \ \ldots \ S_N \end{aligned} $$

讀取輸入後,你可以按如下方式進行總計最多 $15000$ 次 in 查詢和 out 查詢。

in 查詢

首先,選擇一個黑色頂點 $u$ 和一個由零個或多個白色頂點組成的集合 $V$。然後,構造一個長度為 $N$、僅由 $0$ 和 $1$ 組成的字串 $T = T_1 T_2 \ldots T_N$,使得 $T_v$ 為 $1$ 若且唯若 $v \in V$。請按以下格式向標準輸出印出查詢:

$$ \text{in} \ u \ T $$

評測機會判斷集合 $V$ 中是否存在頂點 $v$ 使得有向邊 $(v, u)$ 存在。若存在這樣的頂點則令 $r$ 為 $1$,否則為 $0$。數值 $r$ 會按以下格式從標準輸入給出:

$$ r $$

out 查詢

首先,選擇一個黑色頂點 $u$ 和一個由零個或多個白色頂點組成的集合 $V$。然後,構造一個長度為 $N$、僅由 $0$ 和 $1$ 組成的字串 $T = T_1 T_2 \ldots T_N$,使得 $T_v$ 為 $1$ 若且唯若 $v \in V$。請按以下格式向標準輸出印出查詢:

$$ \text{out} \ u \ T $$

評測機會判斷集合 $V$ 中是否存在頂點 $v$ 使得有向邊 $(u, v)$ 存在。若存在這樣的頂點則令 $r$ 為 $1$,否則為 $0$。數值 $r$ 會按以下格式從標準輸入給出:

$$ r $$

當你確定了一條最長路後,設 $v_1, v_2, \ldots, v_k$ 為按路徑上出現順序排列的頂點編號,並按以下格式向標準輸出印出你的答案:

$$ ! \ k \ v_1 \ v_2 \ \ldots \ v_k $$

輸出答案後請立即終止你的程式。

互動評測說明

如果你的輸出不符合指定格式,或者你的程式在未輸出答案的情況下終止,評測結果是未定義的。輸出答案後請立即終止你的程式,否則評測結果是未定義的。

每當你輸出內容時,請在末尾輸出換行符並重新整理標準輸出。

如果你進行了超過 $15000$ 次查詢,評測結果是未定義的。注意,輸出答案不計入查詢次數。

範例

輸入格式 1

5
1 0 0 1 0

1

1

0

1

輸出格式 1


out 1 01101

in 4 01100

in 4 01000

out 4 01001

! 4 1 3 4 5

說明

在本次範例互動中,隱藏圖的邊集為 $E(G) = \{(1, 2), (1, 3), (1, 5), (3, 4), (4, 5)\}$。此資訊不會提供給程式。

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
#2929EditorialOpenNew Editorial for Problem #22859Coffee_zzzView
#2907EditorialOpenNew Editorial for Problem #22859louyuxuanView

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.