Universal Cup Judging System

Universal Cup

実行時間制限: 1.0 s メモリ制限: 1024 MB 満点: 100 難易度: [表示] ハック可能 ✓
統計

喺練習咗數繪(Fillomino)技巧之後,小藍魚(Little Cyan Fish)決定喺遊戲「The Artisan of Glimmith」入面進行更多訓練。

小藍魚首先向你介紹數繪嘅規則:

對於一個 $m$ 行 $n$ 列嘅網格,將佢劃分為若干個區域(每個區域嘅單元格必須正交相連),使得任意兩個相鄰區域嘅面積唔同。 網格入面嘅某啲單元格已經填有數字。該數字表示佢所屬區域嘅面積。

problem_18007_e875ed6aff86064e6bfc40f5b6e7c6a4.png

數繪謎題嘅一個例子。來源:Puzzle GP 2022 R4

而家小藍魚畀你一個數繪棋盤,佢想你為呢個數繪謎題構造任意一個合法解。

當然,呢個問題對小藍魚嚟講太難喇,所以你只需要解決 $m = 1$ 嘅情況。換句話講,給定一行 $n$ 個單元格,你想將呢啲單元格劃分為若干個線段(每個線段完全包含若干個連續嘅單元格),要求:

  • 任意兩個相鄰線段嘅長度唔同;
  • 某啲單元格包含一啲數字,呢啲數字表示該單元格所屬線段嘅單元格數量(即線段長度)。

小藍魚請你判斷該棋盤係咪存在合法解。如果存在,你仲需要輸出任意一個合法解。

輸入格式

有多組測試數據。輸入嘅第一行包含一個整數 $T$ ($1 \le T$),表示測試數據嘅組數。

對於每組測試數據,輸入嘅第一行包含一個整數 $n$ ($1 \le n \le 10^6$)。

下一行包含 $n$ 個整數 $a_1, a_2, \dots, a_n$ ($0 \le a_i \le n$)。如果 $a_i = 0$,表示第 $i$ 個單元格入面冇填入數字。否則,表示第 $i$ 個單元格入面填入咗數字 $a_i$。

保證所有測試數據入面 $n$ 嘅總和唔超過 $10^6$。

輸出格式

對於每組測試數據,如果唔存在任何合法嘅填數方案,則輸出單行「No」。

否則,輸出嘅第一行包含字串「Yes」。下一行輸出 $n$ 個整數,表示喺你構造嘅方案入面,每個單元格所在線段嘅長度。如果存在多個滿足要求嘅方案,你可以輸出其中任意一個。

樣例

輸入 1

7
3
0 0 0
4
2 0 0 0
4
0 2 0 0
6
0 3 3 0 3 0
10
2 0 0 3 0 0 4 0 0 1
6
0 0 1 1 0 0
6
1 2 3 4 5 6

輸出 1

Yes
2 2 1
No
Yes
1 2 2 1
No
Yes
2 2 3 3 3 4 4 4 4 1
No
No

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.