社区讨论

求条 不知道哪错了QWQ

P2580于是他错误的点名开始了参与者 3已保存回复 3

讨论操作

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

当前回复
3 条
当前快照
1 份
快照标识符
@mhjq9kea
此快照首次捕获于
2025/11/04 06:44
4 个月前
此快照最后确认于
2025/11/04 06:44
4 个月前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
const int N = 5e5+10;
int tree[N][27];
int cnt[N];
char s[N];
int n,m,tot = 1;
int main(){
	ios::sync_with_stdio(0);
	cin.tie(0);cout.tie(0);
	cin >> n;
	for(int i = 1;i <= n;i ++){
		scanf("%s",s+1);
		int u = 1;
		for(int j = 1;s[j];j ++){
			int a = s[j] - 'a';
			if(!tree[u][a])tree[u][a] = ++tot;
			u = tree[u][a];
		}
		cnt[u] = 1;
	}
	cin >> m;
	for(int i = 1;i <= m;i ++){
		scanf("%s",s+1);
		int u = 1;
		for(int j = 1;s[j];j ++){
			int a = s[j] - 'a';
			u = tree[u][a];
			if(!u)break;
		}
		if(cnt[u] == 1){
			cout << "OK" <<endl;
			cnt[u] = 2;
		}else if(cnt[u] == 2){
			cout << "REPEAT" <<endl;
		}else cout << "WRONG" <<endl;
	}
	return 0;
}

回复

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

正在加载回复...