和答案一样为什么WA了
查看原帖
和答案一样为什么WA了
409862
Y_20240229027楼主2021/10/11 13:43

这是代码

#include<bits/stdc++.h>
using namespace std;

struct stu{
	string name;
	bool click;
} a[10005];

bool operator <(stu a,stu b){
	return a.name<b.name;
}

int see(int l,int r,string n){
	while(l<=r){
		int mid=(l+r)/2;
		if(a[mid].name==n)
			return mid;
		else if(a[mid].name>n)
			r=mid-1;
		else
			l=mid+1;
	}
	return -1;
}

int main(){
	ios::sync_with_stdio(false);
	int n,m;
	char click_name[55];
	scanf("%d",&n);
	for(int i=1;i<=n;i++){
		cin>>a[i].name;
		a[i].click=false;
	}
	scanf("%d",&m);
	sort(a+1,a+1+n);
	for(int i=1;i<=m;i++){
		string click_name;
		cin>>click_name;
		int j=see(1,n,click_name);
		if(j==-1)
			printf("WRONG\n");
		else{
			if(a[j].click)
				printf("REPEAT\n");
			else{
				printf("OK\n");
				a[j].click=true;
			}
		}
	}
	return 0;
}

和测试点1的输出一模一样,为什么错了……

2021/10/11 13:43
加载中...