#P3876. [TJOI2010] 数字序列

[TJOI2010] 数字序列

题目描述

考虑一个由数字0,1,2,3组成的长度为n的序列,如果它是一个合法序列,那么它应当满足以下两个条件:

  1. 序列中任意相邻的两元素没有出现模式{'00', '11', '22', '33', '02', '20', '23', '32', '13', '31'}中的任一种;

  2. 序列满足m个约束条件,每个约束条件的形式均为:{p1, p2, ... pL},它表示序列中的p1, p2, ..., pL这些位置的值不同。例如约束条件{1, 5, 11}表示序列中的第一个,第五个和第十一个元素两两各不相同。

现在已知序列长度n,约束条件个数m以及这m个约束条件,问是否存在这样的合法序列。

输入格式

输入文件的第一行是一个正整数T,表示文件中包含T组测试数据。从文件的第二行开始,将依次给出所有的测试数据。每个测试数据的第一行是两个整数n和m,它们的涵义如上面题目描述中所示。接下来有m行,每行描述一个约束条件,其中在描述第i个约束条件的行中,第一个数字是表示这个约束条件包含多少个元素的正整数Li,后面由Li个正整数给出第i个约束的具体情况。

输出格式

共输出T行,对每组测试数据输出一行,如果存在满足条件的合法序列,输出"Yes";否则,输出"No"。

2
7 2
3 1 2 4
4 2 4 5 7
3 1
2 1 1
Yes
No

提示

T ≤ 10,1 ≤ n ≤ 100000,0 ≤ m ≤ 5000,1 ≤ Li ≤ 100,1 ≤ pi ≤ n

每个测试点时限1秒

第一组样例中,序列0103012是满足要求的一个合法序列。