2011-09-17から1日間の記事一覧
問題リンク Spiral Pattern 解法 (i, j)をぬろうとしたとき、(i, j)に隣接するマスが既に'#'だともう塗れないので方向を変えます(自分が来た方向のマスは除く)。方向を変えてもなお、次のマスが塗れなかったらそこで終了です。 移動ベクトルを使えばすっきり…
問題リンク Bus Line 解法 基本方針は幅優先探索による最短路探しです。が、思った以上に面倒な問題です。 遷移先を見極める必要があります。 6-9においては1方向に進むので問題ありません。 0-5の区間は今どちら向きに進んでいるかの向きの情報が必要になり…
問題リンク Snakes 解法 AかBかを判定するメソッドを気合いで作りました。 判定条件を書き下すように書いたので読みづらいと思います。 DFAを定義してゴニョゴニョした方が良かったかもしれません。 ソース
問題リンク Track and Field Competition 解法 クラスTを作りました。Tは選手の番号とタイムを持ち、タイムの昇順にソートできるようにします。 8人で走る組が3つあるので各組についてタイムでソートします。 各組のトップ2は出力し、3,4位を別の配列tに突っ…
問題リンク Middle-Square Method 解法 String s = x+""; とすれば数xを文字列にできます。 sの長さが8未満のとき、先頭に"0"を追加し続ければ長さ8の文字列にできます。 中央4文字を取得するにはs.substring(2, 6)とします。 取得した文字列をInteger.parse…
問題リンク Frequency Distribution of Height 解法 数えるだけです。 ソース
問題リンク Clock Short Hand and Long Hand 解法 時針と分針が何度に傾いているかを調べます。 度に直すことができたらあとは調べるだけです。 ソース
問題リンク Exit Survey 解法 N人の買い物金額の合計をNで割ればいいだけですが、N ソース
問題リンク Rotation of a Pattern 解法 図をs[ ][ ]として、90度右に回転させた図をt[ ][ ]とします。 sからtを得ることができればこれを繰り返すことで180度270度回転の図も得られます。 t[i][j]の画素はs[i'][j']の画素からやってきたもので、これは(i, j…
問題リンク Doctor's Strange Particles 解法 典型的なパズルの問題です。 1行目の10個のマスについて、1か0かを決めます。2^10パターンあります。 このとき2行目のマスについて1か0どちらにするかはすぐ決まります。 すぐ上の1行目のマスを見て、0だったな…