結果

問題 No.599 回文かい
ユーザー Bioinfo_KBioinfo_K
提出日時 2017-11-25 10:45:10
言語 Python3
(3.12.2 + numpy 1.26.4 + scipy 1.12.0)
結果
TLE  
実行時間 -
コード長 395 bytes
コンパイル時間 80 ms
コンパイル使用メモリ 12,544 KB
実行使用メモリ 10,880 KB
最終ジャッジ日時 2024-05-05 12:27:34
合計ジャッジ時間 6,631 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 32 ms
10,880 KB
testcase_01 AC 30 ms
10,624 KB
testcase_02 AC 29 ms
10,624 KB
testcase_03 AC 29 ms
10,752 KB
testcase_04 AC 31 ms
10,496 KB
testcase_05 AC 37 ms
10,752 KB
testcase_06 AC 29 ms
10,624 KB
testcase_07 AC 31 ms
10,624 KB
testcase_08 AC 31 ms
10,496 KB
testcase_09 AC 32 ms
10,752 KB
testcase_10 AC 77 ms
10,624 KB
testcase_11 AC 65 ms
10,624 KB
testcase_12 AC 174 ms
10,752 KB
testcase_13 AC 241 ms
10,880 KB
testcase_14 TLE -
testcase_15 -- -
testcase_16 -- -
testcase_17 -- -
testcase_18 -- -
testcase_19 -- -
testcase_20 -- -
evil_0.txt -- -
権限があれば一括ダウンロードができます

ソースコード

diff #

import sys,collections
mod = 10**9+7
sys.setrecursionlimit(mod)
s= input()
d = collections.defaultdict(lambda: 1)
def DFS(s):
    if s in d:
        return d[s]
    rh1,rh2 = 0,0
    for i in range(1,len(s)//2+1):
        rh1 = rh1 + ord(s[i-1])*(2**i)
        rh2 = (rh2+ord(s[-i]))*2
        if rh1 == rh2 and s[:i] == s[-i:]:
            d[s] += DFS(s[i:-i])
    return d[s]
print(DFS(s)%mod)
0