M
サイズとの行列が与えられた場合、N
合計が特定の値になるように、各行に整数値 (>=0) を入力します。
と の次元は、特定の式を使用して事前に計算されていることに注意してくださいM
。N
これにより、目的の条件 (つまり、以下の sum_val) が与えられた場合に塗りつぶしに一致することが保証されます。
これは R のPartition libraryの下に実装されています。
library(partitions)
# In this example, we impose condition
# that each rows must sum up to 2 in total
# And each row has 5 columns
sum_val <- 2
n <- 5
#The above two parameters are predefined.
t(as.matrix(compositions(sum_val, n)))
[,1] [,2] [,3] [,4] [,5]
[1,] 2 0 0 0 0
[2,] 1 1 0 0 0
[3,] 0 2 0 0 0
[4,] 1 0 1 0 0
[5,] 0 1 1 0 0
[6,] 0 0 2 0 0
[7,] 1 0 0 1 0
[8,] 0 1 0 1 0
[9,] 0 0 1 1 0
[10,] 0 0 0 2 0
[11,] 1 0 0 0 1
[12,] 0 1 0 0 1
[13,] 0 0 1 0 1
[14,] 0 0 0 1 1
[15,] 0 0 0 0 2
C++ に既存の実装はありますか?