結果

問題 No.430 文字列検索
ユーザー Takuma KatoTakuma Kato
提出日時 2019-11-21 14:00:28
言語 Python3
(3.12.2 + numpy 1.26.4 + scipy 1.12.0)
結果
TLE  
実行時間 -
コード長 751 bytes
コンパイル時間 362 ms
コンパイル使用メモリ 12,544 KB
実行使用メモリ 17,152 KB
最終ジャッジ日時 2024-04-18 02:12:44
合計ジャッジ時間 3,478 ms
ジャッジサーバーID
(参考情報)
judge1 / judge5
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 29 ms
16,256 KB
testcase_01 TLE -
testcase_02 -- -
testcase_03 -- -
testcase_04 -- -
testcase_05 -- -
testcase_06 -- -
testcase_07 -- -
testcase_08 -- -
testcase_09 -- -
testcase_10 -- -
testcase_11 -- -
testcase_12 -- -
testcase_13 -- -
testcase_14 -- -
testcase_15 -- -
testcase_16 -- -
testcase_17 -- -
権限があれば一括ダウンロードができます

ソースコード

diff #

S = input()
M = int(input())
C = []
for _ in range(M):
    c = input()
    C.append(c)

alphabet = ['A','B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L','M', 'N','O','P','Q','R','S','T','U','V','W','X','Y','Z']
dic = {}
for i, alp in enumerate(alphabet):
    dic[alp] = i+1

def make_hash(sentence):
    length = len(sentence)
    sentence = list(sentence)
    hash = ''
    for i in range(length):
        #hash = hash + dic[sentence[i]]*26**(length-i-1)
        hash += str(dic[sentence[i]])

    return hash

hash_S = make_hash(S)
ans = 0
for c in C:
    hash_c = make_hash(c)
    for i in range(len(hash_S) - len(hash_c)+1):
        #print(hash_S[i:len(hash_c)+i])
        if hash_S[i:len(hash_c)+i] == hash_c:
            ans += 1
print(ans)
0