合併子目錄 hash

2022-04-11 02:40:38 字數 1925 閱讀 6734

題目2 : 合併子目錄

時間限制:10000ms

單點時限:1000ms

記憶體限制:256mb

小hi的電腦的檔案系統中一共有n個檔案,例如:

/hihocoder/offer22/solutions/p1

/hihocoder/challenge30/p1/test  

/game/moba/dota2/uninstall  

小hi想統計其中一共有多少個不同的子目錄。上例中一共有8個不同的子目錄:

/hihocoder

/hihocoder/offer22

/hihocoder/offer22/solutions

/hihocoder/challenge30

/hihocoder/challenge30/p1

/game

/game/moba

/game/moba/dota2/

第一行包含乙個整數n (1 ≤ n ≤ 10000)  

以下n行每行包含乙個字串,代表乙個檔案的絕對路徑。保證路徑從根目錄"/"開始,並且檔名和目錄名只包含小寫字母和數字。  

對於80%的資料,n個檔案的絕對路徑長度之和不超過10000  

對於100%的資料,n個檔案的絕對路徑長度之和不超過500000

乙個整數代表不同子目錄的數目。

樣例輸入

3  

/hihocoder/offer22/solutions/p1

/hihocoder/challenge30/p1/test

/game/moba/dota2/uninstall

樣例輸出

8//看似挺複雜的,其實,用簡單的方法做即可,hash,萬一衝突了,換個權,再來一次,哈哈,學到了

1 # include 2 # include 3 # include 4 # include 5 # include 6 # include 7 # include 8 # include 9 # include 10 # include 11 # include 

12 # include 13 # include 14

#pragma comment(linker,"/stack:102400000,102400000")

15using

namespace

std;

16#define ll long long

17#define lowbit(x) ((x)&(-x))

18#define pi acos(-1.0)

19#define inf 0x3f3f3f3f3f3f3f3f

20#define eps 1e-8

21#define mod 1000000007

2223 inline int

scan()

26while(ch>='

0'&&ch<='9')

27return x*f;28}

29 inline void out(int

a) 31

if(a>=10) out(a/10

);32 putchar(a%10+'0'

);33}34

#define mx 500005

35/*

************************

*/36

37set

ss;38

char

s[mx];

3940

intmain ()

4152

}53 printf("

%d\n

",ss.size());

54return0;

55 }

view code

合併子目錄下的檔案

比如在當前路徑下有這麼乙個檔案系統 0 mytest.en 1 mytest.en 2 mytest.en 3 mytest.en 4 mytest.en 5 mytest.en 6 mytest.en 7 mytest.en 8 mytest.en要把所有的mytest.en貼上到同乙個檔案內,可...

python建立子目錄並在子目錄下建立檔案

import os 首先判斷當前工作目錄下是否存在目錄machine learning ifnot os.path.isdir machine learning 不存在的話就建立子目錄machine learning 因為父目錄存在,所有這裡用mkdir也可以 os.makedirs machine...

iview admin nginx 部署子目錄

1 修改專案下的 vue.config.js 部署環境改為子目錄的名稱 2 nginx配置 這裡使用alias 不能用root server 3 alias和root的區別 實際util.js 檔案是在dist js 目錄下,這樣會訪問不到資源 4 前後端分離,正式環境nginx配置 設定正式環境下...