luogu p1738
題目描述
輸入輸出格式
輸入格式:
輸入檔案第1行為乙個正整數n。
接下來n行,每行為乙個描述路徑的字串,長度均不超過100。
輸出格式:
輸出應包含n行,每行1個正整數,第i行輸出若要使第1個路徑到第i個路徑存在,最少需要新建多少個資料夾。
樣例輸入2:
3 /chicken
/chicken/egg
/chicken
樣例輸入3:
4 /a
/a/b
/a/c
/b/b
樣例輸出1: 3 4
樣例輸出2:
1 2
2樣例輸出3:
1 2 3 5
說明 資料規模:
對於所有資料,n<=1000。
對於20%資料,有n<=20;
對於50%資料,有n<=200;
對於30%資料,有對於所有路徑最多存在兩個』/』(包含第1個字元)。
首先,我們應該注意到這是乙個樹形結構,這個我們可以結合trie樹來理解,我們在處理每乙個路徑的時候,要把每乙個「/」分隔開的子字串處理成雜湊數。
然後對於之前不存在的節點,就加乙個節點來處理。如果存在,那我們就順著它向下dfs,統計總更新的節點數。
需要注意的一點就是,要開乙個超級根節點來連線第一等級。
題解 洛谷P1738 洛谷的資料夾
一 目錄概覽 二 題目大意 三 大致思路 四 實現 五 剖析 六 總結回顧 kkksc03想好了很多應該有的資料夾路徑名。問題是,需要是使這些資料夾都存在,需要新建幾個資料夾呢?資料夾路徑是什麼?例如 a b c,表示在根目錄下有a資料夾,在a資料夾裡有b資料夾,在b資料夾裡有c資料夾。其他路徑同理...
洛谷P1738 洛谷的資料夾 Trie
給出nn 個目錄位址,為了使這些資料夾都存在,需要新建幾個資料夾?一眼看上去就是tri etri e。雖然暴力可過。這道題其實就是不用查詢的tri etri e。直接每次輸出這棵樹的節點數量就可以了。每次找到這個目錄的下乙個 取出這乙個資料夾的名稱,再在當前已找到的節點上尋找是否有這個資料夾,如果有...
遞迴列印樹形目錄結構展現資料夾及其子檔案
public class treefile 遞迴列印檔案與資料夾 方法一 param file public static void getfileandfolder file file else 注 此程式只會遞迴列印資料夾及其子檔案,沒有像在cmd中使用tree命令能看出子目錄與父目錄的效果 p...