#include <ビット/ STDC ++ H> 使用して 名前空間STDを、 const int型の P = 十億七、MOD = 65535 ; ベクター <符号なし> H [MOD]。 空の追加(符号なしのキーは) { int型 I =キー%のMODを、 H [i]は.push_back(キー)。 } BOOL (未署名鍵)を取得 { int型 I =キー%のMODと、 用(int型のk = 0 ; K <H [I] .size(); ++ kは) 場合(H [i]が[K] == キー) を返す 真。 リターン 偽; } int型のmain() { int型 ANS = 0 。 用(int型のk = 1 ; K <= 7 ; kは++ ) { チャー S [ 105 ]。 scanf関数(" %sの" 、S); INT LEN = STRLEN(S)。 未署名のハッシュ = 0 。 以下のために(int型 i = 0 ; iがLEN <I ++の) ハッシュ =ハッシュを* P + S [i]は、 もし(!(ハッシュ))を取得 { ANS ++ ; (ハッシュ)を追加します。 } } のprintf(" %d個の\ n " 、ANS)。 リターン 0 ; }