そしてdfsの引数にある文字がN文字になった時点で正しい文字列かどうか判定し、正しい場合はそれを出力して、探索を打ち切ります。 計算量はdfsの関数内で毎回2回関数が呼び出されるため、O (2^N)となります。