結果

問題 No.273 回文分解
ユーザー ducktailducktail
提出日時 2018-08-07 14:29:32
言語 Haskell
(8.10.1)
結果
AC  
実行時間 5 ms / 2,000 ms
コード長 389 Byte
コンパイル時間 980 ms
使用メモリ 2,884 KB
最終ジャッジ日時 2020-07-05 01:06:14

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
testcase_00 AC 2 ms
1,812 KB
testcase_01 AC 2 ms
1,980 KB
testcase_02 AC 2 ms
1,832 KB
testcase_03 AC 2 ms
1,848 KB
testcase_04 AC 2 ms
1,816 KB
testcase_05 AC 3 ms
1,952 KB
testcase_06 AC 2 ms
1,984 KB
testcase_07 AC 2 ms
1,916 KB
testcase_08 AC 3 ms
2,228 KB
testcase_09 AC 3 ms
1,972 KB
testcase_10 AC 2 ms
1,820 KB
testcase_11 AC 2 ms
1,848 KB
testcase_12 AC 2 ms
1,856 KB
testcase_13 AC 2 ms
1,840 KB
testcase_14 AC 4 ms
2,880 KB
testcase_15 AC 3 ms
1,828 KB
testcase_16 AC 3 ms
1,844 KB
testcase_17 AC 2 ms
1,844 KB
testcase_18 AC 2 ms
1,832 KB
testcase_19 AC 2 ms
1,988 KB
testcase_20 AC 2 ms
1,860 KB
testcase_21 AC 2 ms
1,884 KB
testcase_22 AC 3 ms
2,104 KB
testcase_23 AC 2 ms
2,108 KB
testcase_24 AC 3 ms
2,104 KB
testcase_25 AC 2 ms
2,100 KB
testcase_26 AC 4 ms
2,716 KB
testcase_27 AC 3 ms
2,280 KB
testcase_28 AC 4 ms
2,740 KB
testcase_29 AC 5 ms
2,860 KB
testcase_30 AC 5 ms
2,884 KB
testcase_31 AC 3 ms
1,820 KB
testcase_32 AC 2 ms
1,824 KB
testcase_33 AC 2 ms
1,816 KB
testcase_34 AC 2 ms
1,816 KB
権限があれば一括ダウンロードができます
コンパイルメッセージ
Loaded package environment from /root/.ghc/x86_64-linux-8.8.1/environments/default
[1 of 1] Compiling Main             ( Main.hs, Main.o )
Linking a.out ...

ソースコード

diff #
import Control.Applicative ((<$>))
import Data.List (sortBy)
import Data.Function (on)

main :: IO ()
main = solve <$> getLine >>= print

solve :: String -> Int
solve = length . head . filter isPal . tail . sortBy (flip compare `on` length) . segments

isPal :: Eq a => [a] -> Bool
isPal = reverse >>= (==)

segments :: [a] -> [[a]]
segments = concat . scanr (\x y -> [x] : map (x:) y) []
0