Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
関数は char[,] を受け取ります。
たとえば、
000 若者 0B0
トラバースすると、ゼロ以外の文字の可能なすべての組み合わせが出力されます。
L LA 若者 ラボ あ アル AB 広告
等々
private void Traverse(char[,] area) { }
最も簡単な方法は、initial と output の 2 つの文字列を持つ再帰関数を作成することです。順列ではなく組み合わせが必要だと思うので、少し簡単です。基本ケースは、initial が空かどうかをチェックしてから、出力を出力します。このステップでは、イニシャルから文字を削除し、再帰関数を 2 回呼び出しています。ただし、削除された文字が 0 の場合は、関数を 1 回だけ呼び出します (出力に何も追加せずに 0 を削除します)。