因为本题只需要在k by k的方阵中填写k个数字,所以我们可以让所有数字都不同行不同列。这样横向的拓扑关系和纵向的拓扑关系可以独立处理,互不干扰。
比如说,我们从横向的关系得到必须从左往右填写 a,b,c,d,再从纵向的关系得到必须从上往下填写b,d,c,a,那么我们就可以令a的纵坐标是0,横坐标是3. 以此类推。
特别注意,如果想用尽量小的的矩阵来填写k个数字,或者填写数字的个数大于矩阵的维度,那么此题难度会很大。比如,如果横向的拓扑关系是a,b,c必须在d的左边,这个时候我们就需要考虑a,b,c是否可以在同一列:但是这一列是否可以装下这么多元素?如果装不下,我们在这一列选填那几个?