まず、最下位が0,6,7の場合はNoです。後述する状態1/0への移行は十の位以降で発生する必要があります。in06がこのケースです。

それ以外の場合。 下の桁から順番に見ていきます。3つの状態があるので適切に管理します。

  • 状態2(私のソースコードに生えた数字ですが、まあ「2つのラッキーナンバーが影響している」とでも考えて下さい)のとき、2,3,4,0,6,7を受け付けます。
    • 2,3,4の場合は、繰り上がりがあるので、上の桁から1を引きます。
      • すでに最上位の場合はNoです。
      • (最上位でないが上位桁が0の場合、次の桁で弾かれるため、無理やり引いても通ります。)
    • 6,7の場合は、状態1に移行します。
    • 0の場合は、状態0に移行します。
  • 状態1のとき、0,6,7を受け付けます。
    • 0の場合は、状態0に移行します。
  • 状態0のとき、0のみを受け付けます。
    • ラッキーナンバーが影響し得ないということは、すべての桁が0になっている以外にないです。
    • (間に合わなかった)チャレンジでは、612だと、下位の12で6+6と完結しているのに、新たな600が出てきているので、十の位が不合理となるのです。

https://yukicoder.me/submissions/238472