PAT1022
1022 Digital Library (30 分)
思路:所有query全部用一个map存

#include
using namespace std;
map<string,vector<int>> m;
vector<int> a;
bool cmp(int x,int y){return a[x]<a[y];
}
int main(){int n,M,i,j;cin>>n;int t;string str,temp;a.resize(n,0);for(i=0;i<n;++i){scanf("%d",&t);a[i]=t;getchar();for(j=0;j<2;++j){getline(cin,str);m[str].push_back(i);}getline(cin,str);for(j=0;j<str.size();++j){if(str[j]==' '){m[temp].push_back(i);temp.clear();}else temp+=str[j];if(j==str.size()-1){m[temp].push_back(i);temp.clear();}}getline(cin,str);m[str].push_back(i);getline(cin,str);m[str].push_back(i);}cin>>M;getchar();for(i=0;i<M;++i){getline(cin,str);cout<<str<<endl;str=str.substr(3);if(m.find(str)==m.end()){printf("Not Found\n");}else{sort(m[str].begin(),m[str].end(),cmp);for(auto it=m[str].begin();it!=m[str].end();++it){printf("%07d\n",a[*it]);} }}return 0;
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
