過去問

Google Code Jam 2012 Round1A 問題B

問題 あるゲームで全レベルクリアを目指す。 各レベルには1starと2starのステージがあり、このレベルのクリア条件は2starの方をクリアすることである。 ただし、各レベルの1starステージ、2starステージをやるためには所持スター数が指定されている。スター…

Google Code Jam 2012 Round1A 問題A

問題 あるB文字からなるパスワードをA文字目まで入力した状態でいる。 これまで入力した文字の正しさの確率がそれぞれ与えられる。 次の動作として、「そのまま入力しきる」「BackSpaceを何回かして打ち直す」「Enterで一度入力して、その場合最初から入力し…

SRM301 Div2 500

問題 4つの記号「/」「N(バックスラッシュの代わり)」「|」「-」からなる列が与えられる。 記号に対して、4つの操作R(右に回転)、L(左に回転)、F(フリップ)、S(なにもしない)をするとそれに応じた記号に代わる。 与えられた記号列を生成するような操作列を「…

SRM535 Div1 250

問題 最小公倍数Gと最大公約数Lが与えられるので、そのようになる2つの整数A,Bのうちでその和が最小になるそのA+Bを返せ。 考え方 L/Gが割り切れないならば、そもそもおかしいので-1。 M=L/G、A'=A/G、B'=B/Gとして、素因数分解したものをA'とB'に割り振れば…

SRM298 Div2 500

問題 フィボナッチ数列のFiが与えられるので、それに対応するインデックスiを計算して返す。 ただし、Fi=1ならばi=2、Fiに対応するiが存在する場合はそのi、Fiに対応するiが存在しない場合(例えばFi=4)はその前後の存在するFi,F{i+1}の値を線形補間して返す…

SRM532 Div1 300

問題 3文字の組がいくつか与えられる。各文字は数字か「.」。 この3文字の並びは変えることができないが、組の順番は自由に並べることができる。全部の組を適当に並べたときに、1つ以上連続する数字の和で最大のものを返す。 例えば、「4.5」「5.3」ならば「…

SRM531 Div1 300

問題 音楽プレイヤーに曲がN曲入っている。 プレイリストを作りたいが、P(>=N)曲で構成したい。 条件として、「全ての曲は必ず1回は流す」「すでに使った曲をもう一度流すためには間に少なくとも別なM曲をはさまなければならない」というルールを付ける。 こ…

SRM429 Div1 500

問題 N種類の飲料によるカクテルがある。しかし、それぞれの飲料の割合を忘れてしまった。 メモには、N-1個の組み合わせについて、2組の飲料の配合比が書かれている。 メモを頼りに、元のN種類全部の配合比を求める。ただし配合比は最小の比率になる整数値。…

SRM429 Div1 250

問題 文字がセルに敷き詰められた長方形が与えられる。 それをコピーして右、右下、下にくっつける。(サイズ的には4倍) ここで、この拡張した長方形の中の部分長方形を考える。 各部分長方形をすべて考える時、各セルに書かれた文字は全部で何回出現するか。…

SRM453 Div1 250

問題 バスケットボールは世界中で愛されているポピュラーうんたらかんたら。 nチームが総当たり戦を行う。ただし、各チームはホーム戦とアウェイ戦の2戦行う。 各チームの勝利数を降順で並べた配列を考える。 配列はいろんな組み合わせがあり得るが、各配列…

SRM526 Div1 250

問題 w*hのグリッドに分割される牧場があり、各セルには、何もいないか、1匹のアヒルがいる。牧場にはN匹のアヒルがいて、全てのアヒルを縦か横方向に1列に連続して並べたい。 しかし、座標(a,b)にいるアヒルを座標(c,d)に動かすためには、|a-c|+|b-d|秒かか…

SRM525 Div1 300

問題 1x1のセルによって構成される長方形がある。各セルには、何もないか、コインが1枚のっている。 各ターンに、上下左右のどれか1方向に全てのコインを1セル分動かすことができる。 もし長方形の外側にでてしまったコインは消える。 正確にKコインだけを残…

SRM525 Div1 525

問題 n匹のウサギちゃんがいて、何匹かのウサギちゃんだけが知っている2つの噂をすべてのウサギちゃんに広めたい。 ただし、各ウサギちゃんが伝えられるウサギちゃんは決まっており、さらに、1日に1つの噂しかその決まったウサギちゃんに広められない。 全て…

SRM312 Div2 500

問題 立方体ブロックの塊が2つ与えられる。それぞれの塊は板のようになるようにくっついている。 2つの塊がブロックを共有しつつくっつくとき、全体でブロックがいくつになるか。 考え方 座標が100*100*100程度なので、各ポイントにブロックがあるかどうかを…

SRM435 Div1 250

問題 二分木が与えられる。ある途中のノードが消された場合に、そのノードの子以下のノードすべてが削除される。どれか1つのノードが消される。このとき、残ったノードの中で葉であるノードの個数を答える。 考え方 まず葉となっているノードを見つける。 削…

SRM515 Div1 250

問題 ある目盛だけ書かれた丸い時計がある。数字が書かれておらず、しかも時計が回転してしまっていて正確に何時何分かわからない。目盛は30度ごとについている。 適当な目盛を選んで、そこからの短針と長針までの角度が与えられる。あり得る時間で一番早い…

SRM517 Div1 250

問題 ある整数Nとtargetが与えられる。 整数xをもしy*z==xとなるy,z(>=2)に分解できるとき、xはyとzに分解することができる。 整数Nを上記のように分解していったときに、常にtargetの数値が出てくる場合は"Yes"、そうでない場合は"No"を返せ。例えば、N=12,…

SRM321 Div2 1000

問題 ある機械があり、leftボタン、rightボタン、enterボタンがついている。 ある文字列が与えられたとき、その文字列の一番左にカーソルがある。enterボタンを押すと、カーソルのある文字を出力し、出力した文字の部分は空白' 'に置き換わる。 文字列の辞書…

SRM511 Div1 250

問題 動物園にNアニマルがいる.といってもウサギとネコの2種類しかいない.それぞれの種類において,彼らの身長はすべて異なる. キツネのJiroはウサギとネコの見分けがつけられない(←!).そこで,すべてのアニマルに「あなたと同じ種類のアニマルで,あな…

SRM326 Div2 1000

問題 w*hのマスのそれぞれの高さが与えられる.そこに十分な量の雨が降ったとすると,各マスに溜まる水の総量はいくらか. 水は縦横4方向にのみ流れ,端のマスから外へは無限に水が流れていってしまう.例 16661 61116 16661 の場合は,真ん中付近の111の部…

TCO 2011 Round1 Div1 500

問題 Fox Cielさんは1次元のマスの道路を左端から右端へ移動したい. 各マスには雨が降った場合泥だらけになる確率が与えられる.雨が降りました. Cielさんは1マス先か2マス先に移動することができ,できるだけ泥だらけのマスを避けたい. 両端のマスは必ず…

UAPC2011 問題D

問題 各部屋は通路でつながっている。 2つの勢力があり、各部屋をそれぞれの勢力に割り振り、それぞれの勢力の部屋同士が通路でつながっていないようにしたい。(両勢力は少なくとも1つの部屋を所持する) しかし、部屋の数と通路はすでに建設中で、通路を壊す…

SRM447 Div1 500

問題 Facebookでの「知ってるかもしれない人」featureの改善をする。 Facebookでは友達は対称であるが、推移性はない(AがBの友達ならばBはAの友達、でもAがBとCの友達だからといってBとCが友達とは限らない)。 今、n-friendという用語を定義する。2人が友達…

SRM335 Div2 1000

問題 いくつかの数字の配列が与えられる。これをk個のグループに分けたい。ただし、条件として「各グループの数字の分散の値の和が最小となるようなグループ分け」にしなければならない。 この時、分散の和が最小となるグループ分けの「分散の和」を返す。 …

SRM335 Div2 500

問題 nのk-multifactorialをfac_k(n)とし、(n-χ*k)が0より大きいものの積と定義する。 例えば、14の3-multifactorialは14*11*8*5*2=12320となる。 より正確に書くと、 fac_k(n) = n if k>=n fac_k(n) = n*fac_k(n-k) if k nとkが与えられるので、fac_k(n)を…

SRM335 Div2 250

問題 与えられた文字列の後ろにいくつかの文字を追加して回文を作りたい。最短となる回文を返せ。 考え方 文字列をひっくり返したものを元の文字列とずらして重なるかどうかを比較していって、元の文字列と同じ部分まで同じになったらひっくり返した文字列で…

TCO 2011 Qual2 Div1 500(ニコ生オープン)

いい問題。

TCO 2011 Qual2 Div1 250(ニコ生オープン)

もう、ぼろくそ。。。

GCJ2011 Round1B 問題B

問題 何人かのホットドック屋さんが通りで商売している。しかし、互いにDメートルは離れて商売したいと考えている。このとき、それぞれがDメートル離れるためには最低何秒かかるか。ホットドック屋さんは1秒で1メートル動けるとする。 ホットドック屋さんの…

GCJ2011 Round1B 問題A

問題 バスケの勝敗表が与えられるので、RPIという指標を計算する。 「RPI = 0.25 * WP + 0.50 * OWP + 0.25 * OOWP」で、定義されそれぞれ、 ・WP : そのチームの勝率 ・OWP : そのチームの対戦相手の勝率(ただし、そのチームとの対戦を除く) ・OOWP : その…