#CF1931F. F. 聊天截图
F. 聊天截图
F. 聊天截图
每次测试的时间限制:2 秒
每次测试的内存限制:256 兆字节
在一个编程竞赛的聊天室中有 个人。聊天参与者按活跃度排序,但每个人看到的自己都位于列表的最上方。
例如,有 个聊天参与者,他们的真实顺序是 。那么:
- 第 个用户看到的顺序是
- 第 个用户看到的顺序是
- 第 个用户看到的顺序是
- 第 个用户看到的顺序是
有 个人在聊天中发布了截图,截图显示的是该用户看到的参与者顺序。截图是在很短的时间内拍摄的,参与者的顺序没有发生变化。
你的任务是判断是否存在一个真实的顺序,使得所有截图都与该顺序对应。
输入格式
第一行包含一个整数 ()——测试用例的数量。接下来是每个测试用例的描述。
每个测试用例的第一行包含两个整数 和 (,)——聊天参与者的数量和发布截图的参与者数量。
接下来的 行,每行包含 个整数 (,所有 互不相同)——第 个截图显示的顺序。其中 是截图作者,可以保证在截图中它位于列表的最上方。
保证所有测试用例的 之和不超过 。同时保证所有截图作者的编号互不相同。
输出格式
输出 行,每行是对应测试用例的答案。如果存在至少一种真实顺序使得所有截图都能得到,输出 "YES",否则输出 "NO"。
你可以以任意大小写输出答案(例如 "yEs"、"yes"、"Yes" 和 "YES" 都会被识别为肯定回答)。
示例
输入:
10
5 1
1 2 3 4 5
4 4
1 2 3 4
2 3 1 4
3 2 1 4
4 2 3 1
6 2
1 3 5 2 4 6
6 3 5 2 1 4
3 3
1 2 3
2 3 1
3 2 1
10 2
1 2 3 4 5 6 7 8 9 10
10 9 8 7 6 5 4 3 2 1
1 1
1
5 2
1 2 3 5 4
2 1 3 5 4
3 3
3 1 2
2 3 1
1 3 2
5 4
3 5 1 4 2
2 5 1 4 3
1 5 4 3 2
5 1 4 3 2
3 3
1 3 2
2 1 3
3 2 1
输出:
YES
YES
YES
YES
NO
YES
YES
YES
YES
NO