GCJ

Problem A - De-RNG-ed

GCJ

問題 線形合同法 (Si+1 := (A * Si + B) mod P) により生成された疑似乱数が K 項と,その上限桁数を定める D が与えられる.このとき,この乱数系列が次に生成する項を決定できるか? ただし,P≦10D は素数,A,B は負でない整数である. 考え方 Incorrect …

Problem C - Hot Dog Proliferation

GCJ

問題 数列 Vi(≧0) の値が部分的に与えられる.(与えられない部分は 0 としてよい).このうち, 2≧Vi となる部分について (Vi-1,Vi,Vi+1)←(Vi-1+1,Vi−2,Vi+1+1) という処理を繰り返し,全体が 0≦Vi≦1 となるようにする.この処理は最低何回行う必要が…

Problem D - Different Sum

GCJ

狭義に「覆面算」を以下のように定義する. 足し算だけが行われる筆算の覆面算 足される数(線より上)の同じ位に同じ数字は出てこない 足される数の順序が違っているものは同一視する (一般ルール)数の最上位は 0 ではない (一般ルール)異なる文字は異…

Problem B - Fence

GCJ

問題 N 種類の数 Bi と目的とする数 L が与えられる.このとき,L=Σci・Bi を満たす ci の総和の最小値はいくつか?

Problem D - Grazing Google Goats

GCJ

問題 N 個の座標 Pi と M 個の座標 Qi が与えられる.各 Q について「各 Pi を中心とし,Q を内側に含む円を描く時,その全ての円の内側に含まれる領域の最小面積」はいくらか?

Problem C - Bacteria

GCJ

問題 ルールを変更したライフゲームを行う.各マスについて 生きているマスについて,上と左が死んでいたらそのマスは死ぬ. 死んでいるマスについて,上と左が生きていたらそのマスは生まれる. *. → ** *@ → ** .@ → *. @. → *@ 与えられた初期状態に対し…

Problem B - World Cup 2010

GCJ

問題 2P チームによって行われるトーナメント戦において,「チーム i が出る試合は最大でも Mi 回見逃していい」という条件を定めている.試合の進行がどのようになっても条件を満たすために必要なチケットを買う場合,その最少額はいくらか? 考え方

Problem A - Elegant Diamond

GCJ

問題 以下のように数字(0〜9)を並べたものを「ダイアモンド」という. 2 8 3 7 3 3 3 8 2 2 4 1 4 8 1 3 3 2与えられたダイアモンドに対して 0 個以上の数字を追加することで,全体を上下対称かつ左右対称なダイアモンドにしたい.最小でいくつの数字を追加…

Google Code Jam 1C

GCJ

Bの問題の文意が分かりにくいかもしれない.factor には因数という意味もあるので,"within a factor of C"は「C倍以内のスケールで」ということです.

Google Code Jam 1B

GCJ

基本的に提出したままのコード.解答途中に書いて消しそびれた部分も残ってる.

Google Code Jam 1A

GCJ

Problem A - Rotate の解答例 普通にやるんだったら右・下・右下・左下の4方向についてdx, dyを作ってやるのが楽だと思う.計算時間のオーダーどっちも O(N2K) だし,N,K≦50だし.方法が面白いので敢えてビット操作.以前見た情報処理学会会誌(2008年12月号…