1BProgramming前回の続き。http://code.google.com/codejam/contest/dashboard?c=agdjb2RlamFtchALEghjb250ZXN0cxin2QUMSmallを三つ一問三十分ペースで出して終了。一応次には進めるようですが、あまりにも厳しい...。A格子点上に点がいっぱいあって、そのうち三つを頂点とする三角形のうち重心が格子点にあるものの数を求めよ。点の数は100000個。重心が別の点に乗っているものの数、と条件を読み違えてて、こんなもんどうやって解くんじゃろって思いながらとりあえずSmall向けコード書いてたら答えが合わなくて、うんうんうなりながら問題を読み直したらやっと気づいた。Bある区間の数を、p以上の共通の素因数を持つ数同士を同一グループとする操作を行うと、いくつのグループに分かれるか、と言う問題。区間の幅は10^6以下で、数の絶対値は10^12以下。問題の解読が難しくて、途中まで公約数がp以下と思っていてそのままSmall向けコード書いてて、これまた全然合わんなあと思いつつ問題を読み返して間違いに気づく。目先の10ptを優先する。CカードがK枚あって、上から一枚ずつ取り出して下に回していくのだけど、1枚目、次にそこから数えて2枚目、そこから数えて3枚目、そこから数えて...のカードは下に回さずに捨てていく。最初上からdi枚目にあったカードは何回目に捨てられますか?Kは100万まで。Largeを通さなかった。Data.Sequenceを使うだけじゃないか。s)そんなことを考えもせず、その時はC++でSmallを通すせこいコードをかいて、しょうもないバグを入れまくり、せこくSmallを通して満足。35ptというのに日和ったか。それから残った時間でBのlargeを解くのを書いてたのだけど、バグ三昧で通らず...。なにをやっているのだか...。Aは終わった後に考えたら、3で割ったあまりで分類するだけだということに気づいた。先こっちやるべきだったなあ。うーん、しかし何ともパッとしない結果であった。前では考えられないほどコードにバグも入れてしまうし。年齢による衰えかなあ。writeup月別アーカイブはてなブログをはじめよう!tanakhさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。