QOJ.ac

QOJ

時間限制: 1.0 s 記憶體限制: 256 MB 總分: 100 可 Hack ✓

#17677. 距離 Mod 5

统计

Busy Beaver 正在玩一個無向、連通且無權重的圖,該圖具有 $N$ ($2 \le N \le 500$) 個頂點,編號從 $1$ 到 $N$。對於每一對頂點 $1 \le i < j \le N$,他在餐巾紙上寫下了從頂點 $i$ 到頂點 $j$ 的最短路徑長度 $A_{i,j}$。由於意識到這些數字佔用了餐巾紙上太多的空間,Busy Beaver 決定只寫下 $B_{i,j}$,即 $A_{i,j} \pmod 5$ 的值。

現在,Busy Beaver 把他的圖弄丟了,只剩下寫有 $B_{i,j}$ 值的餐巾紙。請幫助 Busy Beaver 重建一個可能的圖,或者判斷不存在這樣的圖,說明他犯了錯誤。

形式化地說,給定 $N$ 和 $0 \le B_{i,j} < 5$ 的 $B_{i,j}$,判斷是否存在一個無向、連通且無權重的圖,其具有 $N$ 個頂點,且頂點 $i$ 和 $j$ 之間的最短路徑長度與 $B_{i,j} \pmod 5$ 同餘。如果存在這樣的圖,請輸出任何一個可能的圖。

輸入格式

每個測試包含多個測試案例。第一行包含一個單一整數 $t$ ($1 \le t \le 100$):測試案例的數量。接著是各個測試案例的描述。

每個測試案例的第一行包含一個正整數 $N$。

接下來會有 $N - 1$ 行輸入。這些行中的第 $i$ 行包含 $N - i$ 個以空格分隔的正整數。第 $i$ 行中的第 $j$ 個整數代表 $B_{i,j+i}$。

保證所有測試案例的 $N$ 之和不超過 $500$。

輸出格式

對於每個測試案例,如果存在可能的圖,請輸出 "YES",如果不存在,則輸出 "NO"。答案不區分大小寫。例如,字串 "yEs"、"yes"、"Yes" 和 "YES" 都會被識別為肯定回應。

如果你的程式回答 "YES",請額外輸出 $N - 1$ 行。這些行中的第 $i$ 行應包含 $N - i$ 個正整數。第 $i$ 行中的第 $j$ 個整數若為 $1$ 表示頂點 $i$ 和頂點 $i + j$ 之間應有一條邊,若為 $0$ 則表示沒有。

子任務

對於每個子任務,如果 YES/NO 回應正確但提供的圖不正確,你將獲得該子任務 25% 的分數。對於每個回答 "YES" 的測試案例,你必須輸出恰好 $N - 1$ 行,其中第 $i$ 行包含 $N - i$ 個整數(均為 $0$ 或 $1$)以獲得部分分數。

  • (20 分):所有測試案例的 $N$ 之和不超過 $10$。
  • (80 分):無額外限制。

範例

輸入 1

3
3
1 1
1
3
2 1
1
3
0 0
0

輸出 1

YES
1 1
1
YES
0 1
1
NO

說明

在第一個測試案例中,有 $3$ 個頂點,且任意兩頂點間的最短距離皆為 $1 \pmod 5$。這可以透過建構一個具有 $3$ 個頂點且任意兩頂點間皆有邊的圖來達成。

在第二個測試案例中,有 $3$ 個頂點,頂點 $1$ 和 $2$ 之間的最短距離為 $2 \pmod 5$,而頂點 $1$ 和 $3$ 以及頂點 $2$ 和 $3$ 之間的最短距離皆為 $1 \pmod 5$。這可以透過建構一個具有 $3$ 個頂點,且頂點 $1$ 與 $3$ 之間以及頂點 $2$ 與 $3$ 之間有邊的圖來達成。

在第三個測試案例中,有 $3$ 個頂點,且任意兩頂點間的最短距離皆為 $0 \pmod 5$。可以證明沒有任何無權重、無向、連通的圖能滿足此測試案例。

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.