关注
这是别人写的,可我的编译器变量必须在函数最前面定义啊
#include <stdio.h>
int tile = 1;//全局变量 骨牌编号
int Board[4][4];//棋盘
void ChessBoard(int tr,int tc,int dr,int dc,int size);
int main()
{
int i,j;
for(i=0; i<4; i++)
{
for( j=0; j<4; j++)
{
Board[i][j] = 0;
}
}
ChessBoard(0,0,2,3,4);
for( i=0; i<4; i++)
{
for( j=0; j<4; j++)
{
printf("%d", Board[i][j]);
}
printf("\n");
}
}
/**
* tr : 棋盘左上角的行号,tc棋盘左上角的列号
* dr : 特殊方格左上角的行号,dc特殊方格左上角的列号
* size :size = 2^k 棋盘规格为2^k*2^k
*/
void ChessBoard(int tr,int tc,int dr,int dc,int size)
{
if(size == 1)
{
return;
}
int t = tile++;//L型骨牌编号
int s = size/2;//分割棋盘
//覆盖左上角子棋盘
if(dr<tr+s && dc<tc+s)//特殊方格在此棋盘中
{
ChessBoard(tr,tc,dr,dc,s);
}
else//特殊方格不在此棋盘中
{
//用编号为t的骨牌覆盖右下角
Board[tr+s-1][tc+s-1] = t;
//覆盖其余方格
ChessBoard(tr,tc,tr+s-1,tc+s-1,s);
}
//覆盖右上角子棋盘
if(dr<tr+s && dc>=tc+s)//特殊方格在此棋盘中
{
ChessBoard(tr,tc+s,dr,dc,s);
}
else//特殊方格不在此棋盘中
{
//用编号为t的骨牌覆盖左下角
Board[tr+s-1][tc+s] = t;
//覆盖其余方格
ChessBoard(tr,tc+s,tr+s-1,tc+s,s);
}
//覆盖左下角子棋盘
if(dr>=tr+s && dc<tc+s)//特殊方格在此棋盘中
{
ChessBoard(tr+s,tc,dr,dc,s);
}
else//特殊方格不在此棋盘中
{
//用编号为t的骨牌覆盖右上角
Board[tr+s][tc+s-1] = t;
//覆盖其余方格
ChessBoard(tr+s,tc,tr+s,tc+s-1,s);
}
//覆盖右下角子棋盘
if(dr>=tr+s && dc>=tc+s)//特殊方格在此棋盘中
{
ChessBoard(tr+s,tc+s,dr,dc,s);
}
else//特殊方格不在此棋盘中
{
//用编号为t的骨牌覆盖左上角
Board[tr+s][tc+s] = t;
//覆盖其余方格
ChessBoard(tr+s,tc+s,tr+s,tc+s,s);
}
}
int t = tile++;//L型骨牌编号
int s = size/2;//分割棋盘
这两句我调到前面去就错了
查看原帖
点赞 评论
相关推荐
牛客热帖
更多
正在热议
更多
# 摸鱼被leader发现了怎么办 #
73372次浏览 420人参与
# 工作后明白的那些道理 #
29513次浏览 305人参与
# 工作后,你落下了哪些病根 #
1171次浏览 29人参与
# 电网求职进展汇总 #
33363次浏览 90人参与
# 你学到的“最没用”的职场技能是 #
1060次浏览 28人参与
# 七夕节你打算怎么过? #
70006次浏览 806人参与
# 业务面应该做哪些准备 #
80366次浏览 831人参与
# 国央企笔面经互助 #
172409次浏览 1211人参与
# 你见过最离谱的招聘要求是什么? #
245428次浏览 1691人参与
# 满帮集团求职进展汇总 #
13247次浏览 95人参与
# 拼多多求职进展汇总 #
797802次浏览 6452人参与
# 上班到公司第一件事做什么? #
113618次浏览 783人参与
# 职场破防瞬间 #
352626次浏览 2827人参与
# 工作两年想退休了 #
207938次浏览 1840人参与
# 硬件人秋招的第一个offer #
111060次浏览 1426人参与
# 国企/银行/研究所公司爆料 #
177591次浏览 889人参与
# 视觉/交互/设计招聘信息汇总 #
24386次浏览 634人参与
# 产品人求职现状 #
299072次浏览 2363人参与
# 如果可以选,你最想从事什么工作 #
672157次浏览 4848人参与
# 满分简历要如何准备? #
249524次浏览 2959人参与

