結果
問題 | No.2204 Palindrome Splitting (No Rearrangement ver.) |
ユーザー | ニックネーム |
提出日時 | 2023-02-03 22:18:02 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 834 ms / 2,000 ms |
コード長 | 400 bytes |
コンパイル時間 | 248 ms |
コンパイル使用メモリ | 82,176 KB |
実行使用メモリ | 174,504 KB |
最終ジャッジ日時 | 2024-07-02 20:22:53 |
合計ジャッジ時間 | 16,326 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 33 |
ソースコード
s = input(); n = len(s) f = [[False]*(i+1) for i in range(n)] for i in range(n): f[i][i] = True for i in range(n-1): if s[i]==s[i+1]: f[i+1][i] = True for d in range(3,n+1): for l in range(n-d+1): if s[l]==s[l+d-1] and f[l+d-2][l+1]: f[l+d-1][l] = True dp = [0]*n+[n] for r in range(n): for l in range(r+1): if f[r][l]: dp[r] = max(dp[r],min(dp[l-1],r-l+1)) print(dp[n-1])