立方块

成绩 0 开启时间 2013年02月21日 星期四 23:02
折扣 0.8 折扣时间 2013年02月28日 星期四 23:02
允许迟交 关闭时间 2013年02月28日 星期四 23:02
输入文件 cube.in 输出文件 cube.out
【问题描述】

Klins有一个生动的玩具,它由27个木块组成,玩具的图样如下所示(图2.3.1(a)):

图2.3.1
玩具被分为17组,每一组包含二或三个木块,每两个相邻组的连接处可以旋转360度,所以如果Klins足够聪明,他可以用这个玩具构造出来一个3×3×3的立方体(如图2.3.1(c))。
在上图2.3.1(a)中,第一组有3个木块,第二组有2个木块,第三组有3个木块……等等,因为每组中的木块均由一个机关联接着,所以不管你怎么旋转也不可能使木块脱离该组。(参见图2.3.1(b))
然而并不是所有此类由27个木块组成的玩具都能构造出来立方体。
Klins想知道给定一个玩具,它是否能构造出来一个立方体。
【输入格式】
输入文件包含多个测试数据,输入的第一行是测试数据的组数(≤1500),每组数据由一行17个整数组成,每一个整数都为2或3,表示每一组中的木块数,这些数按相连接的次序给出,也就是说,任意两个相邻的组都是互相连接着的。
【输出格式】
对于每一组测试数据,输出只有一行,如果利用给定的玩具能构造出3×3×3的立方体则输出“yes”,否则输出“no”。
cube.in
2
3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3
3 3 3 3 2 2 2 3 3 2 2 3 2 3 2 2 3
cube.out
yes
yes