プログラミング好きの備忘録

関数型言語とか、証明とか

ARC003に参加しました

昨日に引き続き、プログラミングコンテストに参加しました。

ARC003
制限時間は90分、問題数は4問。

303人中236位でした。B問題の誤答をなくしてたらもう少し順位上がってた。

A問題
大学のGPAの計算。やるだけ


追記:2012/05/27/22:09
後から見て思ったのですが、"ABCCD"を"43221"にmapしてfold、最後に平均を取れば関数型っぽく解けますね。まだまだ関数型脳になってない。


B問題
単語の末尾から見ていく辞書

リバース、ソート、リバースの解法はすぐに浮かんだ。
mapを使ってサラッと解けた。関数型言語の恩恵ですね。

しかし、
import Data.List
とすべきところを
import List
にしていてコンパイルエラーを食らったり、
putStrとすべきところをputStrLnにして改行重複でWAになったりした。
(putStrLnって末尾が'\n'のときには改行重複しないと思ってたんだけど…要確認)


C問題は解答の概略を聞いてもよくわかりませんでした。復習?
解答をHaskellで書けるかどうかもポイントです。