【P11230 [CSP-J 2024] 接龙】

[CSP-J 2024] 接龙算法解析

题目描述

在玩惯了成语接龙之后,小 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

接下来

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值