洛谷P1738 洛谷的資料夾 Trie

2022-09-03 05:03:08 字數 749 閱讀 3941

給出nn

個目錄位址,為了使這些資料夾都存在,需要新建幾個資料夾?

一眼看上去就是tri

etri

e。雖然暴力可過。

這道題其實就是不用查詢的tri

etri

e。直接每次輸出這棵樹的節點數量就可以了。

每次找到這個目錄的下乙個「/」

「/」,取出這乙個資料夾的名稱,再在當前已找到的節點上尋找是否有這個資料夾,如果有,那麼就直接進去,否則新建乙個資料夾。

我們每次讀入新串的時候可以忽略這個字串的第乙個「/」

「/」,並在這個字串的結尾加上乙個「/」

「/」。

由於要用到字串為下標的二維陣列,所以可以用map

+pai

rmap

+pai

r。

#include

#include

#include

#include

using

namespace std;

string c;

int n,num;

mapint,string>

,int

> trie;

void

insert

(string s)

//插入trie

printf

("%d\n"

,num);}

intmain()

return0;

}

題解 洛谷P1738 洛谷的資料夾

一 目錄概覽 二 題目大意 三 大致思路 四 實現 五 剖析 六 總結回顧 kkksc03想好了很多應該有的資料夾路徑名。問題是,需要是使這些資料夾都存在,需要新建幾個資料夾呢?資料夾路徑是什麼?例如 a b c,表示在根目錄下有a資料夾,在a資料夾裡有b資料夾,在b資料夾裡有c資料夾。其他路徑同理...

洛谷的資料夾(樹形結構 DFS 字串雜湊)

luogu p1738 題目描述 輸入輸出格式 輸入格式 輸入檔案第1行為乙個正整數n。接下來n行,每行為乙個描述路徑的字串,長度均不超過100。輸出格式 輸出應包含n行,每行1個正整數,第i行輸出若要使第1個路徑到第i個路徑存在,最少需要新建多少個資料夾。樣例輸入2 3 chicken chick...

洛谷P1803凌亂的yyy

快noip了,yyy很緊張!現在各大oj上有n個比賽,每個比賽的開始 結束的時間點是知道的。yyy認為,參加越多的比賽,noip就能考的越好 假的 所以,他想知道他最多能參加幾個比賽。由於yyy是蒟蒻,如果要參加乙個比賽必須善始善終,而且不能同時參加2個及以上的比賽。輸入格式 第一行是乙個整數n 接...