摘要: 给定一个棋盘,有些点是被删除的,问在这种情况下最多能够在这个棋盘中放置多少1*2的多米诺骨牌。这题可以用二分图匹配来解决,将二维图复制出一份,将能够放置多米诺骨牌的两个相邻的点用边进行连接。如果采用邻接矩阵的话要开一个四维的数组G[x1][y1][x2][y2] 表示坐标为x1,y1 的点与x2,y2 的点之间是否放置一块多米诺骨牌。由于内存开不下,因此采用邻接表的形式来构造这些边。最后再求一个最大匹配即可。代码如下(两个代码只是邻接表的实现不同):#include <cstdlib>#include <cstring>#include <cstdio>us 阅读全文
posted @ 2012-06-13 15:41 沐阳 阅读(291) 评论(0) 推荐(0) 编辑