题解 | #记票统计#

记票统计

https://www.nowcoder.com/practice/3350d379a5d44054b219de7af6708894

#include <iostream>
#include <map>
#include <vector>

using namespace std;
typedef pair<int,int> T; //第一个参数是候选人输入顺序,第二个参数是票数

int main() 
{
    int n,m,Inval = 0;
    cin >> n;
    string c;

    vector<string> vec;
    map<string, T>hashMap;
    T tt;
    int i = 0;
    while (n--){
        cin >> c;
        auto it = hashMap.find(c);
        if (it == hashMap.end()){
            tt.first  = i++;
            tt.second = 0;
            hashMap[c] = tt;
            vec.push_back(c);
        }
        
    }

    cin >> m;
    while (m--){
        cin >> c;
        auto it = hashMap.find(c);
        if (it != hashMap.end()){
            it->second.second++;

            // cout << it->first << " "<< it->second.first <<" "<< it->second.second <<endl;
        }
        else {
            Inval++;
        }
    }


    int cnt = 0;
    while (cnt < vec.size()){
         auto it = hashMap.find(vec[cnt++]);
         if (it != hashMap.end()){
            cout << it->first << " : "  << it->second.second << endl;
         }
    }

    cout << "Invalid" << " : " << Inval <<endl;

    return 0;
}

全部评论

相关推荐

牛舌:如果我不想去,不管对方给了多少,我一般都会说你们给得太低了。这样他们就会给下一个offer的人更高的薪资了。
点赞 评论 收藏
分享
感性的干饭人在线蹲牛友:🐮 应该是在嘉定这边叭,禾赛大楼挺好看的
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务