CE求助
查看原帖
CE求助
728634
liuhaoxiang楼主2022/7/11 18:05
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+1;
struct node{
	string name;
	bool go;
}a[N];
int n,m;
string name;
int pd(int i)
{
	if(a[i].go==true)
	return 0;
	return 1;
}
int check(int l,int r,string name)
{
	int mid=l+((r-l)>>1);
	if(a[mid].name==name)
	{
		if(pd(mid)==0)
		a[mid].go=false;
		return pd(mid);
	}
	if(l>r) return 2;
	else if(a[mid].name>name) return check(l,mid-1,name);
	else return check(mid+1,r,name);
}
void PUT()
{
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
	cin>>a[i].name,a[i].go=true;
	sort(a+1,a+n+1);
	scanf("%d",&m);
	for(int i=1;i<=m;i++)
	{
		cin>>name;
		int x=check(1,n,name);
		if(x==0) puts("OK");
		else if(x==1) puts("REPEAT");
		else puts("WRONG");
	}
}
int main()
{
	PUT();
	return 0;
}
2022/7/11 18:05
加载中...