当前位置 : 主页 > 编程语言 > c++ >

C. Cd and pwd commands

来源:互联网 收集:自由互联 发布时间:2021-06-23
题目链接:http://codeforces.com/problemset/problem/158/C 题意: 模拟对文件路径的操作。 1 #include iostream 2 #include algorithm 3 #include stdlib.h 4 #include string 5 #include string .h 6 #include set 7 #include queue 8

题目链接:http://codeforces.com/problemset/problem/158/C

 

题意:

模拟对文件路径的操作。

 

 1 #include <iostream>
 2 #include <algorithm>
 3 #include <stdlib.h>
 4 #include <string>
 5 #include <string.h>
 6 #include <set>
 7 #include <queue>
 8 #include <stdbool.h>
 9  
10 #define LL long long
11 using namespace std;
12 const int maxn = 1e6 + 10;
13  
14  
15 int main(){
16     int n;
17     scanf("%d",&n);
18     string s,p = "/",temp;
19     for (int i=0;i<n;i++){
20         cin >> s;
21         if (s == "cd"){
22             cin >> s;
23             s += "/";
24             for (int j=0;j<s.length();j++){
25                 temp += s[j];
26                 if (s[j] == /){
27                     if (temp == "/"){
28                          p = temp;
29                     }
30                     else if (temp == "../"){
31                         int k;
32                         for (k=p.length()-1;p[k-1]!=/;k--)
33                             ;
34                         p.resize(k);
35                     }
36                     else {
37                         p += temp;
38                     }
39                     temp = "";
40                 }
41             }
42         }
43         else if (s == "pwd"){
44             cout << p << endl;
45         }
46     }
47 }
网友评论