#include
#include
#include
using namespace std;
/*
*棋盘覆盖问题
*/
static int t=0;
void ChessBoard(int **map,int r,int l,int pr,int pl,int size)
{
if(1==size) {return;}
t++;
int it = t;
//左上角
if(pr<...
分类:
其他好文 时间:
2014-11-13 10:55:31
阅读次数:
225
在一个由2^k *2^k个方格组成的棋盘中,恰有一个方格与其他方格不同,称该方格为一特殊方格,且称该棋盘
为一特殊棋盘。现有四种L型骨牌如下图所示,要用这四种骨牌覆盖棋盘上除特殊方格之外的其他所有格子,且两个L型骨牌不能相互覆盖。...
分类:
编程语言 时间:
2014-10-24 23:40:00
阅读次数:
791
在一个2^k * 2^k个方格组成的棋盘中,有一个方格与其它的不同,若使用以下四种L型骨牌覆盖除这个特殊方格的其它方格,如何覆盖。四各L型骨牌如下图1 图1棋盘中的特殊方格如图2图2实现的基本原理是将2^k * 2^k的棋盘分成四块2^(k - 1) * 2^(k - 1)的子棋盘,特殊方格一定在其...
分类:
其他好文 时间:
2014-10-06 02:20:09
阅读次数:
293
棋盘覆盖
时间限制:3000 ms | 内存限制:65535 KB
难度:3
描述
在一个2k×2k(1k×2k未被覆盖过的方格,求需要类似图2方格总的个数s。如k=1时,s=1;k=2时,s=5
输入第一行m表...
分类:
其他好文 时间:
2014-09-09 23:09:49
阅读次数:
477
先算出来2^k*2^k 之后减去1,最后除3即可
代码:
import java.util.Scanner;
import java.math.*;
public class Main{
public static void main(String[] args){
Scanner cin = new Scanner(System.in);
BigInteger ans,ans1, ...
分类:
编程语言 时间:
2014-09-06 23:53:24
阅读次数:
557
一个非常经典的题,用分治法来做。每次将棋盘分割成4块,对于原本不存在空白格的棋盘要用一个L骨牌来构造空白格。#include#include#include#include#include#include#define LL long longusing namespace std;int num;...
分类:
编程语言 时间:
2014-09-04 18:32:39
阅读次数:
347
分治算法,有很多典型的问题,如最近点问题、线性选择问题、整数划分问题、大整数成绩问题、棋盘覆盖问题、循环赛日程表、二分搜索、Strassen矩阵乘法、汉诺塔等。准备花些时间逐个解决这些问题,并用Java实现,从最近点问题开始。网上找到一些代码,标题如“java 用蛮力法和分治法求解最近对有关问题”,虽然体现了分治,但划分不够彻底,因此我重新对其进行了实现。
一、基本思想及策略:...
分类:
编程语言 时间:
2014-08-12 22:10:54
阅读次数:
233
棋盘覆盖问题
Time Limit: 1000ms, Special Time Limit:2500ms,
Memory Limit:32768KB
Total submit users: 95, Accepted users:
36
Problem 10432 : No special judgement
Problem description
...
分类:
其他好文 时间:
2014-07-31 13:26:36
阅读次数:
244