Hatena::Grouptopcoder

hotpepsiの練習帳

2012-02-11

Codeforces 104 Div2

02:43

A. Lucky Ticket

問題

  • ラッキーナンバーかつ前半と後半の和が等しいかどうかを求める

B. Lucky Mask

問題

  • aより大で、ラッキーナンバーだけ取り出した数がbと一致する最小の数を求める

方針

  • せいぜい100000回
  • 1文字ずつ取り出す->atoi->比較で全探索

C. Lucky Conversion

問題

  • ラッキーナンバーだけからなる数aとbがある
  • 交換または変更の操作によりa=bとなる最小の回数を求める

方針

  • 交換のほうがコストが小さいので交換してから変更する
  • まず数値毎に異なる桁数を求めて、diff_4とdiff_7とする
  • min(diff_4,diff_7)が交換回数
  • 残りが変更回数

D. Lucky Number 2

問題

  • 4,7,47,74の回数が与えられる
  • ラッキーナンバーだけからなる数を生成する

方針

  • c-dの値が-1,0,1,その他で場合わけ
  • abs(c-d)>1なら不可能

結果

488+932+1344+0=2764pt 145th rating 1523 -> 1597

Dは場合わけしたらバグバグだった。これをコンテスト中に通すのは困難。

4と7がラッキーナンバーってTopCoderにも出てくるがデファクトスタンダードなんだろうか。

トラックバック - https://topcoder-g-hatena-ne-jp.jag-icpc.org/firewood/20120211