7-14 目錄樹 (30 分)
在zip歸檔檔案中,保留著所有壓縮檔案和目錄的相對路徑和名稱。當使用winzip等gui軟體開啟zip歸檔檔案時,可以從這些資訊中重建目錄的樹狀結構。請編寫程式實現目錄的樹狀結構的重建工作。
輸入格式:
輸入首先給出正整數n(≤10
4 ),表示zip歸檔檔案中的檔案和目錄的數量。隨後n行,每行有如下格式的檔案或目錄的相對路徑和名稱(每行不超過260個字元):
路徑和名稱中的字元僅包括英文本母(區分大小寫);
符號「\」僅作為路徑分隔符出現;
目錄以符號「\」結束;
不存在重複的輸入專案;
整個輸入大小不超過2mb。
輸出格式:
假設所有的路徑都相對於root目錄。從root目錄開始,在輸出時每個目錄首先輸出自己的名字,然後以字典序輸出所有子目錄,然後以字典序輸出所有檔案。注意,在輸出時,應根據目錄的相對關係使用空格進行縮排,每級目錄或檔案比上一級多縮排2個空格。
輸入樣例:7b
cab\cd
a\bc
ab\d
a\d\a
a\d\z
輸出樣例:
rootad
zabcabcdd
cb可以用map去模擬,為了速度還可以unordered_map,就是儲存乙個指標陣列作為資料夾,然後儲存乙個檔案
#includeusing namespace std;
struct node
;}*root;
void la(int n)
void dfs(node *cnode)
for(it2=cnode->file.begin(); it2!=cnode->file.end(); it2++)
else
t="";
}else t+=s[i];
}if(t!="")
else
cnode=cnode->file[t];}}
cout<<"root"
return 0;
}
目錄樹 (30 分)
在zip歸檔檔案中,保留著所有壓縮檔案和目錄的相對路徑和名稱。當使用winzip等gui軟體開啟zip歸檔檔案時,可以從這些資訊中重建目錄的樹狀結構。請編寫程式實現目錄的樹狀結構的重建工作。輸入首先給出正整數n 10 4 表示zip歸檔檔案中的檔案和目錄的數量。隨後n行,每行有如下格式的檔案或目錄的...
5 30 目錄樹 30分
在zip歸檔檔案中,保留著所有壓縮檔案和目錄的相對路徑和名稱。當使用winzip等gui軟體開啟zip歸檔檔案時,可以從這些資訊中重建目錄的樹狀結構。請編寫程式實現目錄的樹狀結構的重建工作。輸入格式說明 輸入首先給出正整數n 104 表示zip歸檔檔案中的檔案和目錄的數量。隨後n行,每行有如下格式的...
7 9 目錄樹 (30 分)
7 9 目錄樹 30 分 在zip歸檔檔案中,保留著所有壓縮檔案和目錄的相對路徑和名稱。當使用winzip等gui軟體開啟zip歸檔檔案時,可以從這些資訊中重建目錄的樹狀結構。請編寫程式實現目錄的樹狀結構的重建工作。輸入首先給出正整數n 10 4 表示zip歸檔檔案中的檔案和目錄的數量。隨後n行,每...