首页 > 代码库 > stl+模拟 CCF2016 4 路径解析

stl+模拟 CCF2016 4 路径解析

 1 // stl+模拟 CCF2016 4 路径解析 2 // 一开始题意理解错了。。。。 3  4 #include <iostream> 5 #include <string> 6 #include <vector> 7 using namespace std; 8 void fre() {freopen("in.txt","r",stdin);} 9 vector<string> l;10 int main(){11     int n;12     string str;13     cin>>n>>str;14     getchar();15     for(int i=1;i<=n;i++){16         string s;17         getline(cin,s);18         if(s[0]!=/) s=str+/+s;19         if(s.size()==0) s=str;20         int pos;21         while((pos=s.find("//"))!=-1){22             int count=2;23             while(s[pos+count]==/) count++;24             s.erase(pos,count-1);25         }26         while((pos=s.find("/../"))!=-1){27             if(pos==0){28                 s.erase(pos+1,3);29             }30             else{31                 int p=s.rfind(/,pos-1);32                 s.erase(p,pos-p+3);33             }34         }35 36         while((pos=s.find("/./"))!=-1){37             s.erase(pos,2);38         }39 40         if(s.size()>1&&s[s.size()-1]==/)41             s.erase(s.size()-1);42         l.push_back(s);43     }44     for(int i=0;i<n;i++){45         cout<<l[i]<<endl;46     }47     return 0;48 }

 

stl+模拟 CCF2016 4 路径解析