问题 3435 --接龙

3435: 接龙

时间限制: 4 Sec  内存限制: 256 MB
提交: 2  解决: 1
[提交][状态][讨论版][命题人:]

题目描述

在玩惯了成语接龙之后,小 J 和他的朋友们发明了一个新的接龙规则。

总共有n个人参与这个接龙游戏,第i个人会获得一个整数序列si作为他的词库。

一次游戏分为若干轮,每一轮规则如下:

  • n 个人中的某个人p带着他的词库sp进行接龙。若这不是游戏的第一轮,那么这一轮进行接龙的人不能与上一轮相同,但可以与上上轮或更往前的轮相同。
  • 接龙的人选择一个长度在[2,k]的sp的连续子序列A作为这一轮的接龙序列,其中k是给定的常数。若这是游戏的第一轮,那么A需要以元素1开头,否则A需要以上一轮的接龙序列的最后一个元素开头。
    • 序列A是序列S的连续子序列当且仅当可以通过删除S的开头和结尾的若干元素(可以不删除)得到A

  为了强调合作,小 J 给了n个参与游戏的人q个任务,第j个任务需要这n个人进行一次游戏,在这次游戏里进行恰好rj轮接龙,且最后一轮的接龙序列的最后一个元素恰好为cj。为了保证任务的可行性,小 J 请来你判断这q个任务是否可以完成的,即是否存在一个可能的游戏过程满足任务条件。


输入

本题有多组测试数据。

输入的第一行包含一个正整数T,表示数据组数。

接下来包含T组数据,每组数据的格式如下:

第一行包含三个整数n,k,q,分别表示参与游戏的人数、接龙序列长度上限以及任务个数。

接下来n行:

第i行包含li+1个整数Li,Si1,Si2,,SiLi,其中第一个整数Li表示序列Si的长度,接下来Li个整数描述序列Si

接下来q行:

第j行包含两个整数rj,cj,描述一个任务。

输出

对于每个任务:输出一行包含一个整数,若任务可以完成输出 1,否则输出 0。

样例输入

1
3 3 7
5 1 2 3 4 1
3 1 2 5
3 5 1 6
1 2
1 4
2 4
3 4
6 6
1 1
7 7

样例输出

1
0
1
0
1
0
0

提示






来源

[提交][状态]