PAT甲级1039 Course List for Student :[C++题解]排序、哈希表
生活随笔
收集整理的這篇文章主要介紹了
PAT甲级1039 Course List for Student :[C++题解]排序、哈希表
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
文章目錄
- 題目分析
- 題目鏈接
題目分析
此題以為會卡時間,特意使用scanf來讀,結(jié)果本題不是這里卡時間。而是看查詢效率高不高。
考察hash 表,然后vector排個序即可。
ac代碼
#include<bits/stdc++.h> using namespace std;unordered_map<string,vector<int>> stu;int main(){int n,k;cin>>n>>k;while(k--){int order,number;scanf("%d%d",&order,&number);while(number--){char name[5];scanf("%s",name);stu[name].push_back(order);}}//查詢while(n--){string name;cin>>name;auto& ls=stu[name]; //vectorcout<<name<<" "<<ls.size();if(ls.size()){ //不空的話sort(ls.begin(),ls.end());for(auto l :ls) cout<<" "<<l;}cout<<endl;} }超時代碼
//查詢部分 while(n--){string name;cin>>name;cout<<name<<" ";if(stu.count(name)){//用來幾個ifelse 卡掉了for(auto & c:stu){if(c.first==name){auto t= c.second;sort(t.begin(),t.end());cout<<t.size()<<" ";for(auto x:t) cout<<x<<" ";cout<<endl;}}}else cout<<0<<endl;}題目鏈接
PAT甲級1039 Course List for Student
總結(jié)
以上是生活随笔為你收集整理的PAT甲级1039 Course List for Student :[C++题解]排序、哈希表的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PAT甲级1028 List Sorti
- 下一篇: PAT甲级1032 Sharing :[