QOJ.ac

QOJ

Límite de tiempo: 3.0 s Límite de memoria: 1024 MB Puntuación total: 100 Hackeable ✓

#10498. 三角剖分

Estadísticas

圆周上有 $n$ 个点,按顺时针方向从某一点开始编号为 $1$ 到 $n$。设 $d$ 为相邻两点之间的弧长。

BaoBao 在圆上画了 $(2n - 3)$ 条弦,每条弦连接 $n$ 个点中的两个。保证没有两条弦连接同一对点,且没有两条弦在圆内(不含边界)相交。显而易见,这些弦构成了 $(n - 2)$ 个三角形。这些三角形被称为圆的一个三角剖分。

BaoBao 非常喜欢这个三角剖分,于是他在纸上记录了这 $(n - 2)$ 个三角形。第 $i$ 个三角形记录为三个整数 $k_{i,1}, k_{i,2}, k_{i,3}$,其中 $k_{i,j} \times d$ 是第 $i$ 个三角形中第 $j$ 个顶点与其下一个顶点之间的最短弧长。对于 $j = 1$ 和 $j = 2$,其下一个顶点是第 $(j+1)$ 个顶点。对于 $j = 3$,其下一个顶点是第 $1$ 个顶点。

几天后,当 BaoBao 想再次欣赏这个三角剖分时,他沮丧地发现所有的弦都被他的室友 DreamGrid 擦除了,所以他必须根据纸上的记录恢复这个三角剖分。你的任务是帮助 BaoBao 确定所有 $1 \le i \le n-2$ 和 $1 \le j \le 3$ 的 $v_{i,j}$,即第 $i$ 个三角形的第 $j$ 个顶点是圆上的第 $v_{i,j}$ 个点。BaoBao 记录的信息可能是错误的,在这种情况下,你应该告诉 BaoBao 这样的三角剖分不存在。

输入格式

输入包含多组测试数据。第一行包含一个整数 $T$ ($1 \le T \le 10^4$),表示测试数据的组数。对于每组测试数据:

第一行包含一个整数 $n$ ($3 \le n \le 2 \times 10^5$),表示圆上的点数。

接下来的 $(n - 2)$ 行中,第 $i$ 行包含三个整数 $k_{i,1}, k_{i,2}, k_{i,3}$ ($1 \le k_{i,j} \le \lfloor \frac{n}{2} \rfloor$),其中 $k_{i,j} \times d$ 是第 $i$ 个三角形中第 $j$ 个顶点与其下一个顶点之间的最短弧长。

保证所有测试数据的 $n$ 之和不超过 $2 \times 10^5$。

输出格式

对于每组测试数据:

  • 如果存在这样的三角剖分,首先输出一行 Yes。然后输出 $(n - 2)$ 行,其中第 $i$ 行包含三个由空格分隔的整数 $v_{i,1}, v_{i,2}, v_{i,3}$,表示第 $i$ 个三角形的第 $j$ 个顶点是圆上的第 $v_{i,j}$ 个点。如果存在多个有效答案,你可以输出其中任意一个。
  • 如果不存在这样的三角剖分,仅输出一行 No

样例

输入格式 1

3
3
1 1 1
4
1 1 1
1 2 1
6
3 1 2
1 2 1
1 3 2
1 2 1

输出格式 1

Yes
3 2 1
No
Yes
2 5 4
1 2 6
6 5 2
3 2 4

说明

第一组和第三组样例测试数据说明如下:

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.