记录编号 613594 评测结果 AAAAAAAAAAAAAAAAAAAA
题目名称 [CSP 2024 J]接龙 最终得分 100
用户昵称 Gravatar2_16鸡扒拌面 是否通过 通过
代码语言 C++ 运行时间 12.658 s
提交时间 2026-03-20 14:25:11 内存使用 86.58 MiB
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
const int N=200005,R=105;
vector<int> s[N];
vector<int> dp[R];
int n,k,q;

int main(){
	freopen("chain.in","r",stdin);
	freopen("chain.out","w",stdout);
	ios::sync_with_stdio(0);cin.tie(0);
	int T;cin>>T;
	while(T--){
		cin>>n>>k>>q;
		int tot=0;
		for(int i=1;i<=n;i++){
			int l;cin>>l;s[i].resize(l);
			for(int j=0;j<l;j++)cin>>s[i][j];
			for(int x:s[i])tot=max(tot,x);
		}
		for(int r=0;r<=100;r++)dp[r].assign(tot+2,-1);
		dp[0][1]=0;
		for(int r=1;r<=100;r++){
			for(int i=1;i<=n;i++){
				int cnt=0;
				for(int x:s[i]){
					if(cnt>0){
						if(dp[r][x]==-1)dp[r][x]=i;
						else if(dp[r][x]!=i)dp[r][x]=0;
						cnt--;
					}
					if(dp[r-1][x]!=-1&&dp[r-1][x]!=i)cnt=k-1;
				}
			}
		}
		while(q--){
			int r,c;cin>>r>>c;
			cout<<(dp[r][c]==-1?0:1)<<'\n';
		}
	}
	return 0;
}