2
N-queen-equine quine
よく知られているNクイーンの問題には、クイーンとナイトが関係し、「かなり難しい」 と言われている変種があります1。問題のステートメントは次のとおりです。 駒が他の駒を攻撃しないように、同じ数の騎士♞と女王♛をチェス盤に配置する必要があります。ボードに配置できるピースの最大数はいくつですか?また、いくつの方法でそれを行うことができますか? このコードゴルフチャレンジでは、3〜32の入力nが(言語に最適な方法で)与えられます。与えられたnに対して、上記の問題に対するゼロ以上の解があるかもしれません。解決策がない場合は、何も出力/返さない必要があります(nil、空の文字列、false、...)。それ以外の場合、2つの結果を与える必要があります。 サイズnのソリューションボード(以下を参照)。クイーンまたはナイトのチェスの駒を、攻撃を受けている駒なしで追加することはできません。同数の女王と騎士がいるに違いない。 プログラムのソースには入力を受け付けず、(I)が得られる実行する別の溶液(または何も同じサイズ)のn次の溶液のための(ii)の他のプログラムと同様に、同じ形式で、(など...)。 ご了承ください: プログラムのシーケンスは、同じボードを2回返してはならず、サイズnの問題に対して考えられるすべてのソリューションをカバーし、最終的に終了する必要があります(出力は生成されません)。 2つの値を返すか、1つを返してもう1つを印刷するか、2つの戻り値を印刷することができます。 ただし、ボードと次のプログラムの両方を印刷する場合、ボードを次のプログラムの一部とみなしてはなりません(コメントでボードを印刷するか、標準出力とエラーストリームの両方を使用することをお勧めします)。 戻り値としてのプログラムは、クロージャではなく文字列でなければなりません。 ボードフォーマット ボードは、サイズnの正方形です。 ボードセルは空、女王、または騎士にすることができます。 セルの種類ごとに異なる値を選択する必要があります(つまり、ボードの印刷時にQ、N以外の記号を使用できます)。 文字列以外のボードを返す場合、ボードのn 2個の値の順序付きコレクションである必要があります(行列、ベクトル、または行/列優先順のリストなど)。 ボードを印刷する場合、正方形または線として印刷できます。たとえば、サイズ4のソリューションボードは、次のように印刷できます(スペースは不要です。シンボルは任意です)。 Q - - - - - - - - - - - - - N - もしそうなら、出力することもできます: ♛ · · · · · · · · · · · · · ♞ …