编程题
### 问题描述 小齐制作了 $N$ 条手链,每条手链都用 $N$ 种不同颜色中的一种进行了涂色。她把这些手链摆放在桌子上以展示(我们可以将桌子看作二维平面)。第 $i$ 条手链被方便地编号为 $1$ 到 $N$。在构建手链之后,小齐把它们精心安排以满足以下三个条件: 每条手链都是一个封闭的多边形链 —— 由线段依次连接的一系列顶点,其中第一个和最后一个点相同。 没有手链与自身相交(对应于“简单”多边形链)。 没有两条手链相交。 不幸的是,在小齐以这样一种精心安排手链的方式之后,约翰农夫驾驶拖拉机经过,摇晃着桌子,导致手链移动并有可能断裂为多个(不一定是封闭或简单的)多边形链!之后,小齐希望检查上述三个条件是否仍然满足。然而,天色已晚,她看不见手链了。 幸运的是,小齐有一支手电筒。她选择了 $M$条垂直线 $x=1,x=2,…,x=M$,对于每一条线,她沿着该线从 $y=−∞$ 到 $y=∞$ 扫过手电筒的光束,记录她看到的所有手链颜色的顺序。幸运的是,光束不会穿过任何多边形链的顶点,也不会同时横跨两条线段。此外,对于每条光束,每种颜色都会恰好出现两次。 你能帮助小齐利用这些信息确定手链是否可能仍然满足上述三个条件吗? ### 输入格式 每个输入包含 $T$ 个子案例,它们必须分别独立解决以解决完整的输入案例。连续的测试用例由换行符分隔。 输入的第一行包含 $T$。然后是每个 $T$ 子测试用例的输入。 每个子测试用例的第一行包含两个整数 $N$ 和 $M$。然后,子测试用例包含 $M$ 附加行。对于每个 $i$($1≤i≤M$),第 $i$ 附加行包含一个整数 $k_i$($0≤k_i≤2N$,$k_i$ 为偶数),后跟 $k_i$ 个整数 $c_{i1},c_{i2},…,c_{ik_i}$($c_{ij}∈[1,N]$,每个 $c_{ij}$ 都出现零次或两次)。这意味着当小齐从 $(i,−∞)$ 扫过手电筒到 $(i,∞)$ 时,她以那个顺序遇到颜色 $c_{i1},c_{i2},…,c_{ik_i}$。 ### 输出格式 对于每个子测试用例,如果可能满足上述三个条件,则打印 $YES$。否则,打印 $NO$。 ### 样例输入 ``` 5 1 2 2 1 1 2 1 1 1 3 2 1 1 0 2 1 1 2 1 4 1 2 1 2 4 2 6 1 2 2 3 3 1 6 1 2 4 4 2 1 2 2 4 1 1 2 2 4 2 2 1 1 ``` ### 样例输出 ``` YES NO NO YES NO ``` ### 评测数据规模 $1 \leq M \leq 50$,$1 \leq T \leq 50$。
查看答案
赣ICP备20007335号-2