利用電腦做資料處理,經常使用樹狀的資料結構,例如磁碟儲存所使用的檔案系統。檔案系統的有許多不同設計,對一般的個人電腦使用者,最基本的就是目錄和檔案的觀念。一個檔案系統,首先會提供一個根目錄做為進入點,而每一個目錄都可以有下層的子目錄,共且擁有一些檔案,這些檔案才是資料存放主要的地方。為了讓這些檔案有條不紊,使用者可以根據目錄的結構加以分類,將檔案放置在適當的地方。
這個題目中,我們將提供不同檔案系統的目錄結構,希望能夠找出結構種類的數目。由於瀏覽相同結構的目錄時,搜尋子目錄的順序不一定相同,因此,我們定義兩個目錄x和y結構相同的條件為︰
1.x和y有相同數量n個子目錄。
2.如果n > 0,x有子目錄x1, ¼, xn,y有子目錄y1, ¼, yn,存在一對一的映射 { f(i) | i = 1, ¼, n } = { 1, ¼, n },使得xf(i) 和yi結構相同。
當兩檔案系統的根目錄結構相同,則兩個檔案系統目錄結構相同。
輸入檔說明
輸入檔中有零個或以上檔案系統的根目錄結構。每個目錄結構以括號 ¢(¢ 起始、以 ¢)¢ 結束,括號內含零個或以上的子目錄結構。檔案最後以 ¢*¢ 表示資料結束,總共最多100,000對括號。在括號之間,可能換行或是存在任意數目的空白。
輸出檔說明
請輸出一個整數,表示有多少種類的目錄結構。範例輸入
()
( ( ( () () ) ( () ) ) ( () ) )
( ( () ) ( ( () ) ( () () ) ) )
(
)
*
範例輸出
2