题解 100% AC
2025-07-23 20:00:22
发布于:江苏
37阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
bool flag=0;
struct student{
int year;
string sex,name,id;
}a[100010];
bool cmp(student x,student y){
return x.id<y.id;
}
int bs(int l,int r,string x){
while(l<=r){
int mid=(l+r)>>1;
if(a[mid].id==x){
flag=1;
return mid;
}else if(a[mid].id<x) l=mid+1;
else r=mid-1;
}
return 0;
}
int main(){
int n,q;cin>>n;
for(int i=1;i<=n;i++) cin>>a[i].id>>a[i].name>>a[i].sex>>a[i].year;
sort(a+1,a+n+1,cmp);
cin>>q;
for(int i=1;i<=q;i++){
flag=0;
string x;cin>>x;
int j=bs(1,n,x);
if(flag) cout<<a[j].id<<" "<<a[j].name<<" "<<a[j].sex<<" "<<a[j].year<<endl;
else cout<<"No Answer!"<<endl;
}
return 0;
}
这里空空如也
有帮助,赞一个