QOJ.ac

QOJ

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

#17677. 距离模 5

统计

Busy Beaver 正在研究一个无向、连通、无权图,该图有 $N$ ($2 \le N \le 500$) 个顶点,编号从 $1$ 到 $N$。对于每一对顶点 $1 \le i < j \le N$,他都在餐巾纸上记下了从顶点 $i$ 到顶点 $j$ 的最短路径长度 $A_{i,j}$。由于这些数字占用了太多空间,Busy Beaver 决定只在餐巾纸上记录 $A_{i,j} \pmod 5$ 的值,记为 $B_{i,j}$。

现在,Busy Beaver 弄丢了他的图,只剩下记录了 $B_{i,j}$ 值的餐巾纸。请帮助 Busy Beaver 重构一个可能的图,或者判断不存在这样的图,即他记错了。

形式化地说,给定 $N$ 和 $0 \le B_{i,j} < 5$ 的 $B_{i,j}$,判断是否存在一个无向、连通、无权图,使得顶点 $i$ 和 $j$ 之间的最短路径长度模 $5$ 等于 $B_{i,j}$。如果存在这样的图,请输出任意一个可能的图。

输入格式

每个测试点包含多个测试用例。第一行包含一个整数 $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$ 个顶点,任意一对顶点之间的最短距离模 $5$ 为 $1$。这可以通过构造一个包含 $3$ 个顶点且任意一对顶点之间都有边的图来实现。

在第二个测试用例中,有 $3$ 个顶点,顶点 $1$ 和 $2$ 之间的最短距离模 $5$ 为 $2$,顶点 $1$ 和 $3$ 以及顶点 $2$ 和 $3$ 之间的最短距离模 $5$ 均为 $1$。这可以通过构造一个包含 $3$ 个顶点,且顶点 $1$ 与 $3$ 之间、顶点 $2$ 与 $3$ 之间有边的图来实现。

在第三个测试用例中,有 $3$ 个顶点,任意一对顶点之间的最短距离模 $5$ 为 $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.