Universal Cup Judging System

Universal Cup

Time Limit: 2.0 s Memory Limit: 1024 MB Total points: 100 Hackable ✓
Statistics

畀定正整數 $n, m > 0$,以及整數 $a_1, a_2, \dots, a_n \in \{-1, 0, 1, \dots, m - 1\}$。請構造一棵包含 $n$ 個頂點 $V = \{v_1, v_2, \dots, v_n\}$ 嘅樹 $T$,滿足以下條件:對於每個滿足 $a_i \ne -1$ 嘅頂點 $v_i$,佢嘅度數 $\deg_T(v_i)$ 除以 $m$ 嘅餘數必須等於 $a_i$。如果 $a_i = -1$,則對 $v_i$ 嘅度數冇任何限制。

輸入格式

輸入嘅第一行包含一個整數 $t$,代表測試用例嘅數量($1 \le t \le 5 \cdot 10^5$)。對於每個測試用例:

第一行包含兩個整數 $n$ 同 $m$,分別代表樹入面嘅頂點數同埋模數($1 \le n \le 5 \cdot 10^5$;$1 \le m \le 2 \cdot 10^9$)。

下一行包含 $n$ 個整數 $a_1, a_2, \dots, a_n$,代表要求嘅餘數($-1 \le a_i < m$)。

所有測試用例入面 $n$ 嘅總和唔超過 $5 \cdot 10^5$。

輸出格式

對於每個測試用例,如果存在噉樣一棵包含 $n$ 個頂點嘅樹,請輸出「YES」(大小寫不限),跟住輸出 $n - 1$ 行,每行包含兩個整數,代表每條邊嘅兩個端點。否則,請輸出「NO」(大小寫不限)。

範例

輸入

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

輸出

YES
YES
1 2
YES
1 2
1 3
1 4
1 5
YES
1 2
2 3
3 4
4 5
5 6
NO
NO

說明

喺第一個測試用例入面,我哋需要構造一棵有 $n = 1$ 個頂點、$m = 5$、而且度數餘數陣列為 $b = [0]$ 嘅樹。因為得一個頂點,所以唔會有邊,因此得唯一一棵可能嘅樹:一個度數為 $0$ 嘅單一頂點。由於 $0 \bmod 5 = 0$,符合要求,所以答案係「YES」。

喺第二個測試用例入面,我哋需要一棵有 $n = 2$ 個頂點、$m = 3$ 同埋餘數 $b = [1, 1]$ 嘅樹,即係兩個頂點嘅度數對模 $3$ 都同餘於 $1$。喺兩個頂點上面,得唯一一棵樹:單一條邊 $1-2$。佢嘅度數係 $(1, 1)$,而且確實 $1 \bmod 3 = 1$,所以答案係「YES」,輸出「1 2」係合法嘅。

喺第三個測試用例入面,我哋需要 $n = 5$、$m = 4$、餘數 $b = [0, 1, 1, 1, 1]$:第一個頂點嘅度數必須畀 $4$ 整除,而另外四個頂點嘅度數必須滿足 $\text{degree} \equiv 1 \pmod 4$。一個自然嘅構造係以頂點 $1$ 為中心嘅星形圖:將 $1$ 連接到其他每個頂點。噉樣 $\deg(1) = 4$ 且 $4 \bmod 4 = 0$,而 $2, 3, 4, 5$ 嘅度數都係 $1$ 且 $1 \bmod 4 = 1$。因此,答案係「YES」,邊「1 2」、「1 3」、「1 4」、「1 5」符合要求。

喺第四個測試用例入面,我哋需要一棵 $n = 6$、$m = 2$、餘數 $b = [1, 0, 0, 0, 0, 1]$ 嘅樹,即係兩個端點嘅度數必須係奇數,而中間四個頂點嘅度數必須係偶數。喺模 $2$ 之下,呢個純粹係奇偶性限制。簡單路徑 $1-2-3-4-5-6$ 完全符合:頂點 $1$ 同 $6$ 嘅度數係 $1$(奇數),而頂點 $2, 3, 4, 5$ 嘅度數係 $2$(偶數)。因此答案係「YES」,路徑上面嘅邊係正確嘅。

喺第五個測試用例入面,題目要求喺 $n = 3$、$m = 2$ 同埋 $b = [1, 1, 1]$ 嘅情況下構造一個圖(特別係一棵樹),所以每個頂點嘅度數都必須係奇數。呢個係唔可能嘅:喺任何無向圖入面,奇數度頂點嘅數量永遠係偶數,所以對於任何邊集都唔可能出現三個奇數度數。因此,判定結果係「NO」。

喺第六個測試用例入面,我哋有 $n = 4$、$m = 10$、$b = [3, 3, 1, 1]$。由於 $m > n - 1 = 3$,對 $10$ 取模嘅餘數就等於度數本身,所以我哋要求度數恰好為 $\deg = [3, 3, 1, 1]$。呢個迫使兩個頂點同所有其他頂點相鄰(喺 $4$ 個頂點嘅圖入面度數為 $3$),而當 $n > 2$ 嗰陣,任何噉樣嘅一對頂點必然會同任意第三個頂點一齊形成一個環。樹唔能夠包含環,所以判定結果亦都係「NO」.

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
#1219EditorialOpen题解jianglyView

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.