【发布时间】:2017-12-16 22:33:59
【问题描述】:
我有如下的 12*3 矩阵
matrix = 0- [0,0,0]
1- [0,0,0]
2- [0,0,0]
.......
11- [0,0,0]
每一行必须只有 一个 选择作为值 1
matrix = 0- [1,0,0]
1- [1,0,0]
2- [1,0,0]
.......
11- [1,0,0]
在这种情况下我的答案数组是
Ans = {1,0,0,1,0,0,1,0,0,....,1,0,0}
我想生成所有答案,如下所示:
Ans = {1,0,0,1,0,0,1,0,0,....,1,0,0}
Ans = {0,1,0,1,0,0,1,0,0,....,1,0,0}
Ans = {0,0,1,1,0,0,1,0,0,....,1,0,0}
Ans = {1,0,0,0,1,0,1,0,0,....,1,0,0}
能否请您帮我选择最佳算法。
编辑:首选语言是 C#
【问题讨论】:
-
从 0 到 3^12 - 1 以 3 为底数。每个这样的数字很容易看出编码一个唯一的解决方案。
-
@JohnColeman 如何将此基数 3 转换为唯一解?
-
十二行对应于此类数字的 12 个位置。当给定位置的数字为 0 时,选择该行中的第一列。为1时,选择第二列,以此类推
-
让别人帮你做作业并不能教给你任何东西。
标签: c# algorithm matrix matrix-multiplication