2011-08-07から1日間の記事一覧

AOJ0090 Overlaps of Seals

問題リンク Overlaps of Seals 解法 最良優先探索の方針で解きました。 空間を4分割していき、最もシールが重なっていそうなところから探索をかけます。 クラスRは探索空間を表し ・X座標の左端と右端 minx, maxx ・Y座標の上端と下端 miny, maxy ・空間の4…

AOJ0089 The Shortest Path on A Rhombic Path

問題リンク The Shortest Path on A Rhombic Path 解法 DPです。その地点に到達するときの最大値を格納します。 数字の配置がひし形で変則的なので、ひし形の半分で区切ってDPを埋めるといいと思います。 ソース

AOJ0088 The Code A Doctor Loved

問題リンク The Code A Doctor Loved 解法 Mapで対応表を作って頑張りました。 かったるかったですが、表さえできてしまえばあとはやるだけです。 ソース

AOJ0087 Strange Mathematical Expression

問題リンク Strange Mathematical Expression 解法 逆ポーランド記法の式を評価できれば勝ちです。Stackを使います。 ソース

AOJ0086 Patrol

問題リンク Patrol 解法 道を一筆書きできるかを判定する問題です。 頂点の次数を調べていき、次数が奇数の頂点が0もしくは2個ならば一筆書き可能です。 0個の場合にオイラーグラフと呼び、2個の場合に準オイラーグラフと呼びます。 前者は閉路を持ち、後者…

AOJ0085 Joseph's Potato

問題リンク Joseph's Potato 解法 ヨセフの問題です。 残り1人になるまでシミュレートしてもO(nm)なので間に合います。 ソース

AOJ0084 Search Engine

問題リンク Search Engine 解法 "," "." " "の3文字は同じ区切り文字という意味で混在させておくと面倒です。 文字列中の",""."はreplace()を使って" "に置き換え、" "でsplit()します。 あとはsplitして得られた各文字列sの長さが3以上6以下かどうかを調べ…

AOJ0083 Era Name Transformation

問題リンク Era Name Transformation 解法 年月日を表すクラスEを作り、比較メソッドcompareToを作りました。 pre-meiji, meiji, taisho, showaについて、各年号の最終日をクラスEの配列eとしてで作っておきます。 入力された年月日fをpre-meijiから順に比べ…

AOJ0082 Flying Jenny

問題リンク Flying Jenny 解法 乗り物の並びは4,1,4,1,2,1,2,1で固定です。先頭の乗り物を0〜7番の乗り場にしたときに何人残るかを全部試します。 乗り物を文字列で表現("41412121"など)すれば、辞書式で一番小さいものが答えになります。 ソース

AOJ0081 A Symmetric Point

問題リンク A Symmetric Point 解法 直線P1P2と直線QRの交点Pをもとめて、QPを倍伸ばしたところがRだと思ってやってみたがWAをくらい、じゃあもういいよ!って手計算で点Rを計算しました。 QRの中点はP1P2上にある QRとP1P2は直交する の2つの条件から連立…

AOJ0093 Leap Year

問題リンク Leap Year 解法 0 ソース

AOJ0092 Square Searching

問題リンク Square Searching 解法 右下の座標が(i,j)で1辺がwの正方形が作れるかは下準備をすればO(1)で判定できます。 sum[i][j]という2次元配列を用意します。これは(0,0)〜(i,j)の長方形に含まれる空きマスの数を表します。 このsumを使うとマップ上の任…