題目
輸入
7/d2/d3
/d2/d4/f1
…/d4/f1
/d1/./f1
/d1///f1
/d1/
////d1/…/…/d2
輸出
/d2/d4/f1
/d2/d4/f1
/d1/f1
/d1/f1
/d1/
/d2我的解法
我是按照他的要求一步一步做的,但是按我的思路來寫只能得80分,結果是執行錯誤,不知道該怎麼修改了。
#include
#include
using
namespace std;
string now;
//當前路徑
int p;
string index;
string result[11]
;int ri;
int sizeofrow[11]
;//每行答案的長度
int sizei;
intmain()
if(ri>0)
}int flag1 =0;
int flag2 =0;
//標記 .
for(
int i=
0;isize()
;i++)if
(flag2==2)
//回退}}
flag1=flag2=0;
}else
if(index[i]
=='.'
) result[in]
[ri++
]= index[i];if
(index[i]
!='/'
) flag1++
;}
sizeofrow[sizei++
]= ri;
}for
(int i=
0;i) cout<
}return0;
}
參考了網上的思路後
#include
#include
#include
using
namespace std;
string now,s,s1;
int p;
vector vs;
intmain()
stringstream ss
(s);
while
(ss >> s1)
else
if(s1 !=
".."
) vs.
push_back
(s1);}
cout<<
'/';
for(
int i=
0;isize()
;i++
) cout<
vs.clear();}}
小結因為用了sstream,所以**非常的簡短,我只想說太妙了
(我覺得我對字串string型別,和sstream這裡非常不熟悉,甚至都不知道有sstream這個包,所以也想不到用這種這麼妙的方法,而且對string不熟悉,有很多我想到的操作無法用**實現出來)
CSP 201604 3 路徑解析
試題編號 201604 3 試題名稱 路徑解析 時間限制 1.0s 記憶體限制 256.0mb 問題描述 問題描述 在作業系統中,資料通常以檔案的形式儲存在檔案系統中。檔案系統一般採用層次化的組織形式,由目錄 或者資料夾 和檔案構成,形成一棵樹的形狀。檔案有內容,用於儲存資料。目錄是容器,可包含檔案...
CSP201604 3路徑解析
給出一系列檔案路徑,輸出正規化後的路徑。有分析可知,給出的路徑只有兩種形式,一是絕對路徑 以 開頭 二是相對路徑 以 開頭 對於相對路徑的處理,可以將它與當前目錄連在一起,變成絕對路徑後再正規化,根據分析得出將乙個路徑 絕對路徑 正規化要考慮到以下四點 路徑中是否出現 路徑中是否出現 路徑中是否出現...
CSP 201604 3路徑解析
問題描述 輸入格式 第一行包含乙個整數 p,表示需要進行正規化操作的路徑個數。第二行包含乙個字串,表示當前目錄。以下 p 行,每行包含乙個字串,表示需要進行正規化操作的路徑。輸出格式 共 p 行,每行乙個字串,表示經過正規化操作後的路徑,順序與輸入對應。樣例輸入 7 d2 d3 d2 d4 f1 d...