题目描述
在玩惯了成语接龙之后,小 J 和他的朋友们发明了一个新的接龙规则。
总共有 nnn 个人参与这个接龙游戏,第 iii 个人会获得一个整数序列 SiS_iSi 作为他的词库。
一次游戏分为若干轮,每一轮规则如下:
- nnn 个人中的某个人 ppp 带着他的词库 SpS_pSp 进行接龙。若这不是游戏的第一轮,那么这一轮进行接龙的人不能与上一轮相同,但可以与上上轮或更往前的轮相同。
- 接龙的人选择一个长度在 [2,k][2, k][2,k] 的 SpS_pSp 的连续子序列 AAA 作为这一轮的接龙序列,其中 kkk 是给定的常数。若这是游戏的第一轮,那么 AAA 需要以元素 111 开头,否则 AAA 需要以上一轮的接龙序列的最后一个元素开头。
- 序列 AAA 是序列 SSS 的连续子序列当且仅当可以通过删除 SSS 的开头和结尾的若干元素(可以不删除)得到 AAA。
为了强调合作,小 J 给了 nnn 个参与游戏的人 qqq 个任务,第 jjj 个任务需要这 nnn 个人进行一次游戏,在这次游戏里进行恰好 rjr_jrj 轮接龙,且最后一轮的接龙序列的最后一个元素恰好为 cjc_jcj。为了保证任务的可行性,小 J 请来你判断这 qqq 个任务是否可以完成的,即是否存在一个可能的游戏过程满足任务条件。
输入格式
本题有多组测试数据。
输入的第一行包含一个正整数 TTT,表示数据组数。
接下来包含 TTT 组数据,每组数据的格式如下:
第一行包含三个整数 n,k,qn, k, qn,k,q,分别表示参与游戏的人数、接龙序列长度上限以及任务个数。
接下来 nnn 行:
第 iii 行包含 (li+1)(l_i + 1)(li+1) 个整数 li,Si,1,Si,2,…,Si,lil_i, S_{i,1}, S_{i,2}, \dots , S_{i,l_i}li,Si,1,Si,2,…,Si,li,其中第一个整数 lil_ili 表示序列 SiS_iSi 的长度,接下来 lil_ili 个整数描述序列 SiS_iSi。
接下来
[CSP-J 2024] 接龙算法解析

最低0.47元/天 解锁文章
757

被折叠的 条评论
为什么被折叠?



