CCF 路徑解析

2021-10-05 10:08:15 字數 1017 閱讀 7429

思路本題就是乙個簡單的字串操作的問題,具體分為以下情況:

1././的形式代表的是當前目錄,所以之間刪除/.即可,保留最後乙個/。

2./…/的形式代表的是上一級目錄,所以需要刪除/*/…,*代表當前目錄,刪除即可回到上一級。

3.連續多個 /,直接刪除留下乙個即可。

4.最後乙個/,直接刪除。

本題有乙個點,就是用scanf輸入字串的話不會滿分,用getline就好,不知道是因為快速輸入還是空格的問題

**

#include

#include

using

namespace std;

int p;

string cur,s;

intmain()

if(s.

size()

==0)//刪除多餘的"/"

while

((idx= s.

find

("//"))

!=-1)

s.erase

(idx,cnt-1)

;}//"/*/"

while

((idx= s.

find

("/./"))

!=-1)

//"/**/"

while

((idx= s.

find

("/../"))

!=-1)

else

}//刪除末尾的"/"

if(s.

length()

>

1&& s[s.

length()

-1]==

'/')

s.erase

(s.length()

-1);

cout << s << endl;

}return0;

}

CCF路徑解析

問題描述 在作業系統中,資料通常以檔案的形式儲存在檔案系統中。檔案系統一般採用層次化的組織形式,由目錄 或者資料夾 和檔案構成,形成一棵樹的形狀。檔案有內容,用於儲存資料。目錄是容器,可包含檔案或其他目錄。同乙個目錄下的所有檔案和目錄的名字各不相同,不同目錄下可以有名字相同的檔案或目錄。為了指定檔案...

CCF 路徑解析

試題編號 201604 3 試題名稱 路徑解析 時間限制 1.0s 記憶體限制 256.0mb 問題描述 在作業系統中,資料通常以檔案的形式儲存在檔案系統中。檔案系統一般採用層次化的組織形式,由目錄 或者資料夾 和檔案構成,形成一棵樹的形狀。檔案有內容,用於儲存資料。目錄是容器,可包含檔案或其他目錄...

CCF 路徑解析題解

有一段時間沒有寫ccf題了,今天花了一點時間自己寫了道題。花點時間來寫篇題解mark一下。題目鏈結入下,相信能看到這個題解的人都應該很熟悉題目 這個題的題意大致如下 給出一些表示路徑的字串,然後需要實現按一定規則將路徑正規化。正如ccf大多數第三題的套路,按一定的規則做一些字串的處理,這題也不例外,...