Haskell

AOJでHaskell: 1188 階層民主主義 (Hierarchical Democracy)

Tatsuya Yatagawa
こんにちはtatsyです。 今日はHaskellの勉強を兼ねてAOJの関数型向きっぽい問題をやってみます。やる問題は1188番の階層民主主義という問題です。 問題の内容 入力は[[123][4567][89]]のようなかっこで区切られた文字列です。この中身は有権者の人数を表していて、この半分以上を取ればこの地区で勝利できます。 上の入力例ではかっこで囲まれた数字が3個ありますが、候補者はこの3個のうちの半 ...

Haskellでsmallptを作ってみた

Tatsuya Yatagawa
こんにちはtatsyです。 お盆休みなので最近勉強しているHaskellで[smallpt][1]を実装してみました(←暇か!)。 作成した手順に従って、ちょっとずつ解説してみたいと思います。 Vecクラス(のようなもの)を作る 「クラスのようなもの」と書いたのはHaskellにはオブジェクト指向型言語で言うところのクラスはないからです。Haskell的には独自定義のオブジェクトは代数的データ型といいます ...