問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!
n × n のチェス盤上に、クイーンをいくつか置きたいと考えています。
ただし、以下の条件を満たすように置かなければなりません。
・ どの行にもクイーンは 1 つ以下しか存在しない。
・ すべての連続する k 行について、どの斜めにもクイーンは 1 つ以下しか存在しない。(つまり、座標 (x, y) としたとき、x + y および x - y が同じ値になるようなマスにはクイーンを置くことができない)
i = 1, 2, ..., n について、クイーンを i 個置く方法が何通りあるかを求めてください。
n k
合計 n 行出力してください。
i 行目には、クイーンを i 個置く方法の数を出力してください。(1 ≦ i ≦ n)
また、末尾に改行を入れ、余計な文字を含んではいけません。
すべてのテストケースにおいて、以下の条件をみたします。
・ 入力はすべて整数
・ 1 ≦ n ≦ 10
・ 1 ≦ k ≦ min(n, 5)
3 3
9
17
5
10 5
100
4040
86580
1086442
8309776
39057728
110774088
180129738
150199152
48123480