题解 | #简单错误记录#

简单错误记录

http://www.nowcoder.com/practice/2baa6aba39214d6ea91a2e03dff3fbeb

#include<iostream>
#include<vector>
using namespace std;
int main()
{
    string a[100],b[100];
    string c;
      vector<pair<string,int>>d;
    while(getline(cin,c))
    {
       
        for(int i=c.length()-1;i>=0;i--)
        {
            int f=0;
            if(c[i]=='\\')
               {
                   for(int j=i+1;j<c.length();j++)
                   {
                       if(c[j]==' ')
                       {
                           if(c.substr(i+1,j-i).length()<=16)
                           {
                               c=c.substr(i+1,c.length()-1-i);
                                f=1;
                               break;
                           }
                           else if(c.substr(i+1,j-i).length()>16)
                           {
                               c=c.substr(j-16,c.length()-(j-16));
                                f=1;
                               break;
                           }
                       }
                   }
            }
                if(f==1)
                {
                    break;
                }
            }
        if(d.size()==0)
        {
            d.push_back(pair<string, int>(c,0));
        }
                           for(int m=0;m<d.size();m++)
                           {
                               int e=d.size();
                               if(d[m].first==c)
                               {
                                   d[m].second++;
                                   break;
                               }
                               else if(d.at(m).first!=c&&m==e-1)
                               {
                                   d.push_back(pair<string,int>(c,1));
                                   break;
                               } 
                           }
                       
                   }
               
        
     
    if(d.size()<=8){
       for(auto x:d)
        {
            cout<<x.first<<' '<<x.second<<endl;
        }
    }
    else if(d.size()>8)
    {
        for(int i=d.size()-8;i<d.size();i++)
        {
              cout<<d[i].first<<' '<<d[i].second<<endl; 
        }
    }
    return(0);
}
全部评论

相关推荐

渴望wlb的牛油果很...:直说卡第一学历不就行了 非得拐弯抹角
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务