結果
| 問題 |
No.430 文字列検索
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2019-11-21 14:00:28 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 751 bytes |
| コンパイル時間 | 158 ms |
| コンパイル使用メモリ | 12,672 KB |
| 実行使用メモリ | 16,896 KB |
| 最終ジャッジ日時 | 2024-11-10 00:38:14 |
| 合計ジャッジ時間 | 3,606 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | -- * 4 |
| other | AC * 1 TLE * 1 -- * 12 |
ソースコード
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)