Universal Cup Judging System

Universal Cup

حد الوقت: 1.0 s حد الذاكرة: 256 MB مجموع النقاط: 100 تفاعلية
الإحصائيات

本題為互動題。在輸出每一行之後,請務必重新整理輸出緩衝區。在 C++ 中可以使用 cout << flush;在 Java 中可以使用 System.out.flush();在 Python 中可以使用 sys.stdout.flush()。你必須嚴格遵守「互動格式」部分的說明,否則可能會收到 Wrong Answer、Time Limit Exceeded 或其他評判結果。

由於礦坑裡的工作既辛苦又耗時,矮人們決定尋求幫助以自動化部分任務。他們目前的任務是將 $N$ 個礦石(編號為 $1$ 到 $N$)分類到不同的類別中。為了輔助這項工作,工人矮人安裝了一條新的輸送帶。矮人們可以將礦石樣本加到輸送帶的開頭,並從末端將它們移除(即移除最早加入的礦石)。

不幸的是,這條輸送帶沒有知識庫,因此它無法辨識輸送帶上任何礦石的類別。然而,它有另一個非常有用的功能:它會顯示目前輸送帶上有多少種不同的礦石類別。事實證明,這對礦坑來說已經足夠了,因為矮人們不需要知道每個礦石的類別:他們只需要將礦石按相同類別分堆即可。

你能利用這條輸送帶幫助矮人們完成這項任務嗎?

互動格式

礦石的類別在一開始就是固定的,且不取決於所做的查詢。

首先,讀取一行,包含一個整數 $N$,代表要分類的礦石數量。接著,你可以執行以下兩種類型的操作:

  • + id — 將識別碼為 id 的礦石加到輸送帶的開頭。
  • - — 移除輸送帶末端的礦石。如果輸送帶為空,則什麼也不會發生。

每次操作後,輸送帶會輸出一行,包含目前輸送帶上不同類別的數量。

要輸出答案,首先印出一行,包含 !,後接 $k$,即礦坑中不同類別的數量。接著印出 $k$ 行,每行描述一個類別。每行應包含一個數字 $c_i$,後接該類別中 $c_i$ 個礦石的識別碼。$N$ 個礦石中的每一個都必須出現在恰好一個類別中。你可以以任意順序輸出各個類別以及每個類別內的礦石。

請記住在每次操作後以及輸出答案後重新整理輸出緩衝區。請記住在數字與 +、-、! 符號之間留出空格。你必須讀取來自互動器的所有資料。

資料範圍

$1 \le N \le 500$,你最多可以執行 $35\,000$ 次操作。

範例

輸入格式 1

3
1
2
2
2

輸出格式 1

+ 1
+ 2
+ 3
-
! 2
2 1 3
1 2

說明

在第一個範例測試中,$N = 3$,礦石 $1, 2, 3$ 的類別分別為 $1, 2, 1$。

本地測試

在「檔案」部分,你可以找到包含範例測試和評分器 grader.cpp 的 A.zip。若要測試你的解答,請先編譯它,然後將測試名稱和你的可執行檔傳遞給編譯後的 ./grader:

./grader [test] [executable]

例如:./grader 0b.in ./abc

範例評分器不保證與官方評分器的行為完全一致。然而,兩者都不是自適應(adaptive)的。

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.