SP201 POLYGAME - The Game of Polygons
题目描述
在游戏「多边形」中,两名玩家轮流操作。游戏开始时给出一个由 $n$ 个顶点组成的凸多边形,已经用 $n-3$ 条对角线将其划分成 $n-2$ 个三角形。这些对角线仅能交于多边形的顶点。其中一个三角形是黑色的,其余三角形为白色。玩家每轮可以按照给定的对角线切掉一个三角形。谁切掉黑色三角形,谁就获胜。
提示:如果连接多边形内任意两点的线段始终位于多边形内部,则该多边形是凸多边形。
### 任务
编写一个程序,完成以下工作:
- 从标准输入中读取多边形的详细描述。
- 判断先手玩家是否存在一个必胜策略。
- 输出结果到标准输出。
输入格式
输入首先是一个整数 $t$,表示测试用例的数量。接下来是 $t$ 个测试用例,每个用例之间用空行隔开。每个用例的第一行包含一个整数 $n$,满足 $4 \le n \le 50000$,表示该多边形的顶点数。多边形按顺时针顺序编号,顶点编号从 $0$ 到 $n-1$。
接下来的 $n-2$ 行描述了多边形中的三角形情况。对于第 $i+1$ 行(其中 $1 \le i \le n-2$),有三个用空格隔开的非负整数 $a, b, c$,表示第 $i$ 个三角形的顶点编号。这个序列中的第一个三角形是黑色的。
输出格式
对于每个测试用例,输出一行:
- 如果先手玩家有必胜策略,输出 `YES`;
- 否则输出 `NO`。
**本翻译由 AI 自动生成**