#21824. 纸牌桌游(uno)

纸牌桌游(uno)

说明

蒟蒻队长最近很喜欢玩一种桌游卡牌——$UNO$

这种卡牌共分四种颜色:红色、绿色、蓝色及黄色,每种颜色各有写着 $0−9$ 的数字牌和功能牌:`skip`(跳牌)、`reverse`(反转牌),还有一种没有颜色的功能牌:`change`(转色牌)

功能牌的功能分别如下:
1. `skip`(跳牌):跳过下一个人的出牌,由下家的下家打出下一张牌
2. `reverse`(反转牌):将原本顺时针的出牌顺序变为逆时针,或相反,并由变化后的下家(原来的上家)打出下一张牌
3. `change`(转色牌):无论上一张牌是什么牌都可以打出转色牌,且打出后出牌者可以决定下家应出哪种颜色的牌,此时对下家来说,上家的牌只有颜色,没有数字

现在蒟蒻队长邀请了小菜菜和黄老师一起来玩 $UNO$

一开始,每人从牌堆抽出 $N$ 张牌,由蒟蒻队长第一个出牌,并且出牌顺序也由蒟蒻队长决定(即蒟蒻队长可以选择按照 `蒟蒻队长,小菜菜,黄老师` 的顺序,还是按照 `蒟蒻队长,黄老师,小菜菜` 的顺序出牌)

蒟蒻队长可以将任意牌作为第一张牌打出,接下来所有人出牌遵守出牌规则:
1. 规定顺序轮流出牌,每轮必须打出一张牌且只能出一张牌,若手上无符合规则的手牌可出,则判定游戏失败
2. 若打出的不是 `转色牌`,则所打出的牌要么 `颜色` 与 `上一张牌` 相同,要么 `数字` 与 `上一张牌` 相同(数字牌),要么 `功能` 与上一张牌相同(功能牌)
3. 若打出的是功能牌,执行对应功能
4. 第一个打完手牌的人获胜
5. 若最后三个人能够接连打出手里最后一张牌,则共同获胜

现在蒟蒻队长知道三人手里的牌分别是什么,他想知道能否商量出一种出牌方案使得三人共同获胜?

输入格式

本题采用多组测试数据

输入第一行包含一个整数 TT 表示测试数据数量

对于每组测试数据:

第一行输入一个整数 NN 表示三人一开始的手牌数量

接下来三行,分别表述蒟蒻队长,小菜菜,黄老师的手牌

每行包含 2∗n2 * n 个数,每两个数 x,yx,y 描述一张牌

1. x=0,1,2,3x=0,1,2,3 分别表示红黄蓝绿四种颜色

2. yy 表示的是该牌的数值,若 y=10y=10 表示跳牌, y=11y=11 表示反转牌

3. x=4x=4 表示该牌为转色牌,此时的 yy 无意义

测试点编号$N$特殊性质
$1 \sim 2$$N=1$无
$3 \sim 4$$1 \leq N \leq 6$没有功能牌
$5 \sim 6$$1 \leq N \leq 6$只有数字牌和转色牌
$7 \sim 10$$1 \leq N \leq 6$无

对于所有测试数据有:1≤T≤101 \leq T \leq 10

</span>

输出格式

对于每组测试数据,如果有至少一种方案能够让三个人共同获得胜利,则输出 "Yes!",否则输出 "No!"

3
1
0 10
0 11
0 0
1
0 1 
1 10 
0 11 
3
0 10 2 0 3 11
2 10 3 0 1 0
1 10 3 1 4 0
Yes!
No!
Yes!

提示

对于第一组数据:
蒟蒻队长定义顺序为:蒟蒻队长,小菜菜,黄老师
蒟蒻队长打出跳牌,跳过小菜菜,此时蒟蒻队长获得胜利
黄老师打出红色$0$,此时黄老师获得胜利,因为蒟蒻队长已经胜利,所以下一个轮到小菜菜
小菜菜打出反转牌,此时小菜菜获得胜利
该方案可以让三人依次打出手里最后一张牌

对于第二组数据:
不管怎么打小菜菜都打不出他的牌

来源

CSP模拟赛