そのうち誰かの役に立つ

もしくは誰の役にも立たない

競プロチャレンジ供養会場: AtCoder Beginner Contest 198 D - Send More Money

コンテストでの時間切れや解けなかった過去問を振り返って供養していく

問題

Difficulty: 1224 (記事作成時点)

供養

解法

  • 文字種が11種類以上ある場合は自明に UNSOLVABLE
  • 各文字に対する数字の割り当てを全通り試して成立するパターンを探す
    • DFSなどで実装可
    • 適度に枝刈りを入れてもいいが愚直にやっても多分間に合う
  • 全通り試して1つでも成立すればそれを出力し、1つも見つからなければ UNSOLVABLE

実装

計算量は $O(10!)$

公式解説

躓いた点

  • まっとうに覆面算を解こうとして時間切れ
  • $10! = 3628800$ なので全探索もやってできないことはないと思いつつ後回しにしていた