在一个 2^k * 2^k 个方格组成的棋盘中,若恰有一个方格与其它方格不同,则称该方格为一特殊方格,称该棋盘为一特殊棋盘。显然特殊方格在棋盘上出现的位置有 4^k 种情形。因而对任何 k>=0 ,有 4^k 种不同的特殊棋盘。下图所示的特殊棋盘为 k=2 时 16 个特殊棋盘中的一个。 在棋盘覆盖 ...
分类:
其他好文 时间:
2019-03-02 13:42:17
阅读次数:
201
题 目 传 送 门 在 这 题目大意 题目都很简短了就不说了……(懒得打) 解题思路 虽说《算法竞赛进阶指南》几乎没有裸题,但这题快可以算一道了。 这题我们设下标x,y的和是奇数的点为奇点,否则就是偶点。 如果相邻的两个点都可以放骨牌,那么我们就见一条从奇点出发(或从偶点)到另一个点的一个边。 然后 ...
分类:
其他好文 时间:
2019-01-31 20:54:57
阅读次数:
644
编写象棋界面 棋盘覆盖问题 在2^k*2^k个方格组成的棋盘中,有一个方格被占用,用下图的4种L型骨牌覆盖所有棋盘上的其余所有方格,不能重叠。 代码如下: n是棋盘宽度,必须是2^k,本例中n=8,特殊格子在(2,2)位置,如下图所示: 采用分治法每次把棋盘分成4份,如果特殊格子在这个小棋盘中则继续 ...
分类:
编程语言 时间:
2018-12-07 15:59:14
阅读次数:
249
刘汝佳书上的经典题,不过目前所见过的变式并不多 ...
分类:
其他好文 时间:
2018-09-13 01:24:23
阅读次数:
422
#include #include #include using namespace std; const int maxn=11000; struct my{ int next; int v; }; bool biao[110][110]; bool vis[maxn]; int match[ma... ...
分类:
其他好文 时间:
2018-04-05 22:32:48
阅读次数:
297
题目:http://www.joyoi.cn/problem/tyvj-1035 将点分为两类:x+y为偶数和x+y为奇数,这样则可以在两部分之间连边,作为一块骨牌; 然后二分图求最大匹配即可。 代码如下: ...
分类:
其他好文 时间:
2018-03-07 00:43:44
阅读次数:
435
1 #include 2 #include 3 #include 4 5 int nCount = 0; 6 int Matrix[100][100]; 7 8 void chessBoard(int tr, int tc, int dr, int dc, int size); 9 10 int m... ...
分类:
其他好文 时间:
2017-10-27 19:51:27
阅读次数:
152
题目描述 Description 给出一张n*n(n<=100)的国际象棋棋盘,其中被删除了一些点,问可以使用多少1*2的多米诺骨牌进行掩盖。 题目描述 Description 给出一张n*n(n<=100)的国际象棋棋盘,其中被删除了一些点,问可以使用多少1*2的多米诺骨牌进行掩盖。 给出一张n* ...
分类:
其他好文 时间:
2017-09-26 19:18:58
阅读次数:
182