因此,在给定每一行和每一列的元素数量的情况下,我试图用1和0填充数组。 例如,如果我得到了
int行= {2,2,2,3};
int列= {3,2,1,3};
那么可能的解决方案是
1 0 0 1
1 1 0 0
0 0 1 1
1 1 0 1
答案 0 :(得分:0)
我找到的答案是贪婪的方法,在其中回答每个子问题。因此,我逐列浏览,并根据行的权重填写每一列。
记住索引从0开始
我从第0列开始
由于第3行的值最高(3),因此我将其填充
0 0 0 0
0 0 0 0
0 0 0 0
1 0 0 0
现在行和列数组如下
row = {2,2,2,2}
column = {2,2,1,3}
我一直填充,直到我无法再插入更多列,即column [0] = 0
1 0 0 0
0 0 0 0
0 0 0 0
1 0 0 0
row = {1,2,2,2}
column={2,2,1,2}
1 0 0 0
1 0 0 0
0 0 0 0
1 0 0 0
row = {1,1,2,2}
column={2,1,1,2}
现在,由于column [0] == 0,我可以转到下一列并再次执行相同的过程