在一个n*n个方格的国际象棋棋盘上,马(骑士)可以攻击的棋盘方格如图所示。棋盘
上某些方格设置了障碍,骑士不得进入。
对于给定的n*n个方格的国际象棋棋盘和障碍标志,计算棋盘上最多可以放置多少个骑
士,使得它们彼此互不攻击。
第一行有2 个正整数n 和m (1<=n<=200, 0<=m 分别表示棋盘的大小和障碍数。接下来的m 行给出障碍的位置。每行2 个正整数,表示障
碍的方格坐标。
将计算出的共存骑士数输出
3 2
1 1
3 3
5
详见试题
题目可以在这里提交:http://wikioi.com/homework/23/
分析:二分图的最大独立集,可以先求二分图的最大匹配,简单建图。
代码:
//Isap算法,复杂度O(n^2m)
#pragma comment(linker,"/STACK:102400000,102400000")
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include