题解 | #简单错误记录#
简单错误记录
http://www.nowcoder.com/practice/2baa6aba39214d6ea91a2e03dff3fbeb
#include<bits/stdc++.h>
using namespace std;
string get_file_name_16(string path);
string get_file_name(string path);
int main(){
string str;
int line_num;
vector<string> files;
vector<string> tfilenames;
vector<int> nums;
vector<int> counts;
while(cin>>str>>line_num){
int flag=0;
string file_name = get_file_name(str);
for(int i=0;i<files.size();++i){
if(files[i].compare(get_file_name_16(str))==0&&nums[i]==line_num){
counts[i]++;
flag=1;
break;
}
}
if(flag==0){
tfilenames.push_back(get_file_name(str));
files.push_back(get_file_name_16(str));
nums.push_back(line_num);
counts.push_back(1);
}
}
int len_=nums.size();
int start = 0;
if(len_>8)
start = len_-8;
for(int i=start;i<nums.size();++i){
cout<<files[i]<<" "<<nums[i]<<" "<<counts[i]<<endl;
}
return 0;
}
string get_file_name_16(string path){
int index =path.find_last_of('\\');
string name = path.substr(index+1);
int len = name.size();
if(len>16)
name = name.substr(len-16);
return name;
}
string get_file_name(string path){
int index =path.find_last_of('\\');
string name = path.substr(index+1);
return name;
}