在2D矩阵中排列数字1的可能性

时间:2019-05-29 11:20:48

标签: c++ algorithm matrix

给出二维矩阵的行R和列C的数量

最初矩阵的所有元素均为0

给出每行应显示的1的数量

给出每列中应显示的1的数量

确定是否可以形成这样的矩阵。

示例:

输入:

R=3 C=2 (no. of rows and columns)
2 1 0   (number of 1's that should be present in each row respectively)
1 2     (number of 1's that should be present in each column respectively)

输出:可能
说明:

1 1
0 1
0 0

我尝试通过检查Ri的总和是否等于Ci的总和来解决这个问题,大约12个小时,这给了我错误的答案。再次,我尝试将列数组放在优先级队列中并逐行遍历,然后如果我需要R [i ]行中,然后我用1填充优先级队列的顶部R [i]列,然后将其减小1,如果它大于零,则将其再次插入优先级队列,并且如果队列中的任何点少于要求,则求解是不可能的,但这使我超过了时间限制。

但是我想知道是否不可能在这样的情况下

3 3
1 3 0
0 2 2

R和C最高为10 ^ 5

根据stackoverflow,此问题与Finding if binary matrix exists given the row and column sums相同,但实际上并不相同,因为此处的约束高于那里。

有什么想法我应该进一步发展吗?

0 个答案:

没有答案