华为题库 HJ19 简单错误记录

HJ19 简单错误记录

在这里插入图片描述
在这里插入图片描述

#include <algorithm>
#include <deque>
#include <iostream>
#include <map>
#include <queue>
#include <string>
#include <vector>
using namespace std;


int main() {
    
    
    vector<pair<string , int>> date;
    string tmpName;
    int num;
    while (cin >> tmpName >> num) {
    
     
        deque<char> tmDeq;
        for(int i=tmpName.size()-1 ; i > 0    ; i--)
        {
    
    
            if(tmpName[i] == '\\' ||tmpName.size() - i > 16 ) break;
            tmDeq.push_front(tmpName[i]);
        }
        tmpName.assign(tmDeq.begin(), tmDeq.end());

        tmpName += ' ';
        tmpName += to_string(num) ;
        // cout<<"tmpName "<<tmpName<<endl;
        bool flag = false;
        for(int i=0 ; i <date.size() ; i++)
        {
    
    
            if(date[i].first == tmpName)
            {
    
    
                date[i].second++;
                flag = true;
            } 
        }
        if(flag == false) date.push_back({
    
    tmpName , 1});
    }

    if(date.size() > 8)
    {
    
     
        for(int i=date.size()-8 ; i<date.size() ; i++)
            cout<<date[i].first << ' '<<date[i].second<<endl;
    }else 
    {
    
    
        for(int i=0 ; i<date.size() ; i++)
            cout<<date[i].first << ' '<<date[i].second<<endl;
    }
    date.clear();
}
// 64 位输出请用 printf("%lld")

猜你喜欢

转载自blog.csdn.net/qq_44814825/article/details/130101173