社区讨论

0分求条

P2922[USACO08DEC] Secret Message G参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@mddymvw0
此快照首次捕获于
2025/07/22 11:13
8 个月前
此快照最后确认于
2025/07/22 15:50
8 个月前
查看原帖
C
#include<bits/stdc++.h>
using namespace std;
struct node{
	long long ol[10];
	long long fg;
}s[500010];
long long tot=1,cs=1;
long long n,m,t;
void build(string y){
	cs=1;
	for (int i=0;i<y.size();i++){
		if (s[cs].ol[y[i]]==0){
			s[cs].ol[y[i]]=++tot;
		}
		cs=s[cs].ol[y[i]];
		s[cs].fg++;
	}	
}
long long q(string sp){
	cs=1;
	for (int i=0;i<sp.size();i++){
		if (s[cs].ol[sp[i]]==0){
			return 0;
		}
		cs=s[cs].ol[sp[i]];
	}
	return s[cs].fg;
}

int main(){
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	cin >> m >> n;
	for (int i=1;i<=n;i++){
		for (int j=0;j<10;j++){
			s[i].ol[j]=0;
			s[i].fg=0;
		}
	}
	for (int i=1;i<=m;i++){
		long long x;
		cin >> x;
		string yh="";
		for (int j=1;j<=x;j++){
			long long y;
			cin >> y; 
			yh+=char(y+'0');
		}
		build(yh);
	}
	for (int i=1;i<=n;i++){
		long long x;
		cin >> x;
		string sl="";
		for (int j=1;j<=x;j++){
			long long y;
			cin >> y;
			sl+=char(y+'0');
		}
		cout << q(sl) << '\n';
	}
	return 0;
}

回复

0 条回复,欢迎继续交流。

正在加载回复...