Hatena::Grouptopcoder

TopCoder2D

 | 

2011-11-04

Codeforces Round 92 Div 1 参加記

| 18:46

今回は結構調子がよかったです.

次, オレンジになれるといいな~.

結果

Rating

  • 1684 -> 1751

Score

  • A : 852 pt (00:37)
  • B : 518 pt (01:48)
  • Hack : +0/-0

Problem A

  • 貪欲に解きました.
    • [小さめの素数*i] の位置には, 入力文字列の中の出現回数が多いアルファベットを割り当て
    • 逆に大きめの素数の位置には, 出現回数が少ないアルファベットを割り当て

Problem B

  • x+y≡0 (mod 2a) の位置を, 2次元平面上に書き出してみると, /の形をした直線が何本もできることがわかります
  • x-y≡0 (mod 2b) の位置は, \の形をした直線ができます
  • 答えを求めるためには, この線をなるべくまたがずにスタートからゴールへ行かなければいけません
  • /区切りでX座標に直して, \区切りでY座標に直します
  • あとは, 8方向に移動できると考えて, スタートからゴールまでの最短距離をとればいいです(図参照)

f:id:Respect2D:20111104235806p:image:w360

ゲスト



トラックバック - http://topcoder.g.hatena.ne.jp/Respect2D/20111104
 |