No Such Blog or Diary

«Prev || 1 | 2 | 3 |...| 1263 | 1264 | 1265 |...| 1321 | 1322 | 1323 || Next»

希望が見えたか?

Microsoft から来たメールによると,どうやら theSpokeアカウント を使わずに「Visual Studio 2005 Professional」を手に入れられるようになるらしい.いろいろと文句や問い合わせが行った結果なのかどうかしらんけどありがたいかも.

どうにかならんかなぁ

ASCII24の記事によると『Visual Studio .NET the Spoke Premium 2003』を購入、登録した学生を対象に『Visual Studio 2005 Professional Edition』を追加費用なしでダウンロード提供してくれるらしい.詳しい情報を得ようとだいぶ前に登録したきりの"the Spoke”のサイトへ行ってみるが... 3ヶ月間ログインしないと登録が抹消されますって言われて登録消えているらしい orz. もう一回登録しなおしてもいいものなのかどうか...

シャナXI,終クロ6上下購入

終クロ6上巻600ページ弱,下巻600ページ超え.なんだかもう記録に挑戦? 同時に買ったシャナの5冊分って... とりあえず7巻の1250円が何ページになるか楽しみだ,と.(つーか,文庫本のカバーがかかるのだろうか?)

とりあえず...

Pitts の論文でも読むか.

ICPCをHaskellでやろうとしたときのテンプレート

ICPCをHaskellでやろうとすると入出力はこんな感じだろうか? とりあえずメインルーチンはデータセットのリストを getProblems で生成し,mapM_ で各データセットに対して solve で解いた結果を putStrLn.show で出力と.

main = getProblems >>= mapM_ (putStrLn.show.solve)

getProblems に関して.各入力セットの先頭の数字が終了フラグになるタイプは,終了なら [] をリターン,そうでなければデータをタプルにして cons をリフトする.

main = getProblems >>= mapM_ (putStrLn.show.solve)
getProblems = 
    do
    [n] <- getNums
    if n==0 then return []
       else do
            xs <- replicateM n getEntry
            liftM (xs:) getProblems
    where 
    getEntry = liftM words getLine
    getNums = liftM (map read.words) getLine
 

入力の最初にデータセットの数がある場合は replicateM でリストにすると.

main = getProblems >>= mapM_ (putStrLn.show.solve)
getProblems = 
    do
    n <- liftM (head.map read.words) getLine
    replicateM n getProblem
getProblem =
    do
    r <- getNum
    s <- liftM (head.map read.words) getLine
    ws <- replicateM s getNum
    return (r, ws)
    where 
    getNum = liftM (head.map read.words) getLine :: IO(Double)

あとは EOF で終了という不親切な場合もあるが... 面倒なのでやめとこう.各データセット内の値の取得は,replicateM と liftM (map read.words) getLine と叫べば大体は入力できそう.面倒なのは read の型を明示しとかないとこける可能性があることだろう.

みなみけ2巻限定版

売れているのか売れていない(少ない)のかよくわからない上にいろいろと酷評を受けているみたいで.なぜかアマゾンで予約してあって今日届いてたりするのだが,今更なぜ注文したのか疑問に思ったり.ま,いいか.

«Prev || 1 | 2 | 3 |...| 1263 | 1264 | 1265 |...| 1321 | 1322 | 1323 || Next»
Search
Feeds

Page Top