#include #include #include #include #include #include using namespace std; void ins_dirs(string &s,set &d) { string tmp; for (int i=0;i st) { string ret="/"; while(!st.empty()){ ret=st.top()+ret; ret="/"+ret; st.pop(); } return ret; } string cannonical(string &s,set &dirs) { vector path; string tmp; for (int i=0;i st; for (int i=0;i::iterator find_file(string s,set &files) { set::iterator p=files.find(s); if (p==files.end()&&s[s.length()-1]=='/') p=files.find(s+"index.html"); if (p==files.end()&&s[s.length()-1]!='/'){ p=files.find(s+"/index.html"); } return p; } int main() { ifstream cin("D.txt"); int n,m; while(cin>>n>>m){ set files; set dirs; for (int i=0;i>s; files.insert(s); ins_dirs(s,dirs); } /* for (set::iterator p=dirs.begin(); p!=dirs.end();p++) cout<<*p<>s>>t; s=cannonical(s,dirs); t=cannonical(t,dirs); //cout<<"*** "<::iterator p,q; p=find_file(s,files); q=find_file(t,files); if (p==files.end()||q==files.end()) cout<<"not found"<