思考過程2

さっきのは 3 までの決め打ちなので、使い回せない。ただ、この方針で煮詰めてみる価値はありそう。とりあえず、問題を帰納的に捉えてみよう。

  1. 問題の条件を満たす、長さ n の文字列を仮定する。
  2. この文字列に n+1 を挿入する。挿入する位置は n+1 箇所あるため、結果は n+1 通り得られる。
  3. 上記アルゴリズムを、長さ 1 の文字列から再帰的に繰り返す。

理屈はこうなんだけども、実装しようとすると意外と面倒だったりする。何か良いライブラリはないかなぁ。