這是一道t3,所以要設計好解題框架
首先是路徑採用字串陣列來描述
首先將輸入的當前目錄進行儲存,然後對輸入的路徑進行正規化操作
void
tran
(const string& s)
else
if(s.at(
0)=='/'
)//絕對路徑
else
if(check ==
".")
;else
ori_dir.
push_back
(s.substr
(start, end - start));
start = end +1;
}}end++;}
}else
//相對路徑
else
if(check ==
".")
;else
ori_dir.
push_back
(s.substr
(start, end - start));
start = end +1;
}}end++;}
}}
#include
#include
#include
using
namespace std;
int p;
string temp;
vector cur_dir;
string tem_dir;
vector ori_dir;
string check;
void
tran
(const string& s)
else
if(s.at(
0)=='/'
)else
if(check ==
".")
;else
ori_dir.
push_back
(s.substr
(start, end - start));
start = end +1;
}}end++;}
}else
else
if(check ==
".")
;else
ori_dir.
push_back
(s.substr
(start, end - start));
start = end +1;
}}end++;}
}}intmain()
end1++;}
getchar()
;while
(p--
)return0;
}
注意一下特殊要求,比如名稱帶…和.或者時字串為空之類的。 CSP 201604 3 路徑解析
試題編號 201604 3 試題名稱 路徑解析 時間限制 1.0s 記憶體限制 256.0mb 問題描述 問題描述 在作業系統中,資料通常以檔案的形式儲存在檔案系統中。檔案系統一般採用層次化的組織形式,由目錄 或者資料夾 和檔案構成,形成一棵樹的形狀。檔案有內容,用於儲存資料。目錄是容器,可包含檔案...
CSP201604 3路徑解析
給出一系列檔案路徑,輸出正規化後的路徑。有分析可知,給出的路徑只有兩種形式,一是絕對路徑 以 開頭 二是相對路徑 以 開頭 對於相對路徑的處理,可以將它與當前目錄連在一起,變成絕對路徑後再正規化,根據分析得出將乙個路徑 絕對路徑 正規化要考慮到以下四點 路徑中是否出現 路徑中是否出現 路徑中是否出現...
CSP 201604 3路徑解析
問題描述 輸入格式 第一行包含乙個整數 p,表示需要進行正規化操作的路徑個數。第二行包含乙個字串,表示當前目錄。以下 p 行,每行包含乙個字串,表示需要進行正規化操作的路徑。輸出格式 共 p 行,每行乙個字串,表示經過正規化操作後的路徑,順序與輸入對應。樣例輸入 7 d2 d3 d2 d4 f1 d...