結果
| 問題 |
No.2204 Palindrome Splitting (No Rearrangement ver.)
|
| コンテスト | |
| ユーザー |
👑 Kazun
|
| 提出日時 | 2023-02-04 01:24:49 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 1,209 ms / 2,000 ms |
| コード長 | 585 bytes |
| コンパイル時間 | 176 ms |
| コンパイル使用メモリ | 81,920 KB |
| 実行使用メモリ | 272,256 KB |
| 最終ジャッジ日時 | 2024-07-02 23:19:21 |
| 合計ジャッジ時間 | 28,639 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 33 |
ソースコード
def solve():
S="*"+input(); N=len(S)-1
E=[[None for r in range(N+2)] for l in range(N+2)]
for l in range(N+1,-1,-1):
El=E[l]
Ell=E[l+1] if l<N+1 else None
for r in range(l,N+2):
if r-l<=1:
El[r]=True
else:
El[r]=(S[l]==S[r-1]) and Ell[r-1]
DP=[0]*(N+1); DP[0]=N+1
for i in range(1,N+1):
for j in range(1,i+1):
if E[j][i+1]:
DP[i]=max(DP[i], min(DP[j-1], i-j+1))
return DP[N]
#==================================================
print(solve())
Kazun