QOJ.ac

QOJ

Límite de tiempo: 4.0 s Límite de memoria: 2048 MB Puntuación total: 100 Interactivo

#17326. 世紀大劫案

Estadísticas

在策劃了這場竊取 Count Monte Carlo 皇冠珠寶的最精密搶案後,你遇到了路途中的最後一道障礙:一個上鎖的保險箱。然而,你已經為這一刻進行了訓練,並磨練了你的開鎖能力。

這個保險箱有 $N$ 個轉盤,每個轉盤都可以設定為 $1$ 到 $2N$ 之間的任何整數值。Count Monte Carlo 為每個轉盤設定了一個正確的秘密數值。為了嘗試打開保險箱,你將每個轉盤設定為你選擇的數值,然後轉動保險箱門把。如果每個轉盤都設定為其正確的秘密數值,你將不會感覺到任何阻力,門會立即打開。

當然,透過隨機猜測所有正確的秘密數值來打開保險箱是不太可能成功的。然而,作為一名專業的開鎖專家,即使你的猜測錯誤,當你嘗試打開門時,你也會感覺到一些阻力,你可以利用這些資訊來幫助破譯正確的秘密數值。如果一個轉盤的秘密數值為 $h$,而當你嘗試開門時該轉盤被設定為 $d$,則該轉盤在轉動門把時會產生 $|h - d|$ 的阻力。你可以感覺到所有轉盤中的最大阻力。(注意,如果這個值為 $0$,則表示你已成功打開保險箱並完成了搶案!)

不幸的是,保全團隊已經察覺到你的存在,並且正在逼近你的位置。你每秒鐘可以嘗試打開保險箱一次,但他們將在 $4N$ 秒後到達!你能在被抓住之前完成搶案嗎?

互動

這是一個互動式問題。互動開始時,從標準輸入讀取一個整數 $N$ ($1 \le N \le 500$),代表保險箱上的轉盤數量。你的程式最多可以進行 $4N$ 次嘗試來打開保險箱門,方法是為每個轉盤指定一個嘗試數值。每次嘗試後,你將被告知從門把感受到的阻力。

進行嘗試時,請輸出一行包含 $N$ 個以空格分隔的整數 $d_1, d_2, \dots, d_N$ ($1 \le d_i \le 2N$),即你為每個轉盤提出的數值。然後從標準輸入讀取一個整數,代表你從門把感受到的阻力,即 $\max_i |h_i - d_i|$,其中 $h_i$ 是轉盤 $i$ 的(對你而言未知的)秘密數值。如果阻力為 $0$,則表示你已打開保險箱,你的程式應終止。否則,如果還有剩餘的嘗試次數,你可以再次嘗試。

如果你用盡了嘗試次數,你的程式應乾淨地退出(儘管這會被判定為錯誤,因為未能及時破解保險箱以逃脫警衛)。

每個轉盤的秘密數值是由 Count Monte Carlo 在搶案前預先設定的,並且不會隨著你的破解嘗試而改變。

說明

請務必在每次輸出後重新整理輸出串流 (flush the output stream),並在互動結束後乾淨地退出。請同時確保你完全遵循上述互動協定,關於在輸出的哪一行列印什麼資訊:例如,如果協定要求你在單行上列印一串以空格分隔的整數,評測系統將不會接受將每個整數分行列印。

如果評測系統收到無效或意外的輸入,它將列印 $-1$ 並立即退出。你的程式必須偵測到此錯誤報告並乾淨地退出,以便收到 Wrong Answer 的判決。如果你的程式因等待評測系統的進一步互動而阻塞,或試圖將 $-1$ 解釋為阻力值,你可能會收到不同的拒絕判決(例如 Time Limit Exceeded 或 Runtime Error),而不是 Wrong Answer。

我們為你提供了用於本地測試的命令列工具。該工具的頂部有解釋其用法的註解。

範例

範例 1

3
1 1 1
5
3 4 5
1
4 5 6
0

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.