题解 | #记票统计#

记票统计

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;
}

全部评论

相关推荐

10-05 23:02
东北大学 Java
我说句实话啊:那时候看三个月培训班视频,随便做个项目背点八股,都能说3 40w是侮辱价
点赞 评论 收藏
分享
11-09 11:01
济南大学 Java
Java抽象带篮子:外卖项目真得美化一下,可以看看我的详细的外卖话术帖子
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务