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.