ABC392の振り返りです。
結果
ABCの3完でした。今回簡単目だったためか、ratingあまり上がりませんでした
ふりかえり
A問題
- 問題
- 回答
permutations
使って全パターン試します
main :: IO ()
main = do
as <- permutations <$> getInts
let ans = [b3| [b1, b2, b3] <- as, b1 * b2 == b3 ]
printYN $ not $ null ans
B問題
- 問題
- 回答
[1 .. n]
全てに対してnotElem
使いましょう
main :: IO ()
main = do
[n, _] <- getInts
as <- getInts
let ans = [show i | i <- [1 .. n], i `notElem` as]
print $ length ans
putStrLn $ unwords ans
C問題
- 問題
- 回答
ゼッケンと見つめる先をIntMap
にして管理します。
見つめる先はVectorとして管理して取得するようにしました。
main :: IO ()
main = do
n <- readLn @Int
ps <- getInts
qs <- getInts
let qps = zip qs ps
im = IM.fromList qps
as = map (\i -> fromJust $ IM.lookup i im) [1 .. n]
v = VU.fromList qs
ans = map (\a -> show $ v VU.! (a - 1)) as
putStrLn $ unwords ans
全体を振り返って
もっとHaskellと仲良くなりたいので引き続き頑張ります!