关注
这是别人写的,可我的编译器变量必须在函数最前面定义啊
#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;//分割棋盘
这两句我调到前面去就错了
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 实习简历求拷打 #
4261次浏览 58人参与
# 你会为了工作牺牲生活吗? #
66610次浏览 454人参与
# 秋招被挂春招仍然能投的公司 #
4620次浏览 80人参与
# 考研失败就一定是坏事吗? #
198412次浏览 1352人参与
# 什么是优秀的实习经历 #
6184次浏览 191人参与
# 为了求职,我做过的疯狂伪装 #
75309次浏览 763人参与
# mt对你说过最有启发的一句话 #
28231次浏览 355人参与
# 牛友们,签完三方你在忙什么? #
128505次浏览 981人参与
# 摸鱼被leader发现了怎么办 #
95075次浏览 614人参与
# 巨人网络工作体验 #
71019次浏览 502人参与
# 秋招特别不鸣谢 #
12940次浏览 165人参与
# 你投递的公司有几家约面了? #
153683次浏览 990人参与
# 你今年的保底offer是哪家 #
154024次浏览 667人参与
# 第一次面试 #
1035105次浏览 13679人参与
# 今年秋招你收到了多少封邮件? #
16079次浏览 216人参与
# 工作中遇到的歹人 #
23392次浏览 277人参与
# 选实习,你更看重哪方面? #
10624次浏览 196人参与
# 携程求职进展汇总 #
837274次浏览 5496人参与
# 滴!实习打卡 #
748823次浏览 6762人参与
# 毕业论文进行时 #
20283次浏览 127人参与

