L型骨牌
来源:互联网 发布:js取消onblur事件 编辑:程序博客网 时间:2024/04/28 03:25
#include<stdio.h>#define n 8int a[n][n];int count = 1;//col,row棋牌左上角的行号和列号//td,tc特殊方格的行号和列号 void checkboard(int col,int row,int td,int tc,int num){if(num == 1){return;}//左上 if(td < col + num / 2 && tc < row + num / 2){a[col + num / 2 - 1][row + num / 2] = count;a[col + num / 2][row + num / 2 - 1] = count;a[col + num / 2][row + num / 2] = count;count ++;checkboard(col,row,td,tc,num / 2);checkboard(col,row + num / 2,col + num / 2 - 1,row + num / 2,num / 2);checkboard(col + num / 2,row,col + num / 2,row + num / 2 - 1,num / 2);checkboard(col + num / 2,row + num / 2,col + num / 2,row + num / 2,num / 2);}//右上 if(td < col + num / 2 && tc > row + num / 2 - 1){a[col + num / 2 - 1][row + num / 2 - 1] = count;a[col + num / 2][row + num / 2 - 1] = count;a[col + num / 2][row + num / 2] = count;count ++;checkboard(col,row,col + num / 2 - 1,row + num / 2 - 1,num / 2);checkboard(col,row + num / 2,td,tc,num / 2);checkboard(col + num / 2,row,col + num / 2,row + num / 2 - 1,num / 2);checkboard(col + num / 2,row + num / 2,col + num / 2,row + num / 2,num / 2);}//左下 if(td > col + num / 2 - 1 && tc < row + num / 2){a[col + num / 2 - 1][row + num / 2 - 1] = count;a[col + num / 2 - 1][row + num / 2] = count;a[col + num / 2][row + num / 2] = count;count ++;checkboard(col,row,col + num / 2 - 1,row + num / 2 - 1,num / 2);checkboard(col,row + num / 2,col + num / 2 - 1,row + num / 2,num / 2);checkboard(col + num / 2,row,td,tc,num / 2);checkboard(col + num / 2,row + num / 2,col + num / 2,row + num / 2,num / 2);}//右下 if(td > col + num / 2 - 1 && tc > row + num / 2 - 1){a[col + num / 2 - 1][row + num / 2 - 1] = count;a[col + num / 2 - 1][row + num / 2] = count;a[col + num / 2][row + num / 2 - 1] = count;count ++;checkboard(col,row,col + num / 2 - 1,row + num / 2 - 1,num / 2);checkboard(col,row + num / 2,col + num / 2 - 1,row + num / 2,num / 2);checkboard(col + num / 2,row,col + num / 2,row + num / 2 - 1,num / 2);checkboard(col + num / 2,row + num / 2,td,tc,num / 2);}} int main(){int i,j;a[0][1] = 0;checkboard(0,0,0,1,n);for(i = 0;i < n;i ++){for(j = 0;j < n;j ++){printf("%3d",a[i][j]);}putchar('\n');}return 0;}
0 0
- L型骨牌
- L型骨牌棋盘覆盖
- 分治算法--L型骨牌棋盘覆盖
- C#图形化界面--L型骨牌
- 棋盘覆盖2(1X2骨牌 和 L型骨牌 混合铺满)(强行轮廓线DP)
- 计算机算法设计与分析作业01:分治法求解大数乘法+L型骨牌的棋盘覆盖问题
- ZJU2028 How Many Left - L形骨牌覆盖
- DP 动态规划 Problem L 1012 铺骨牌
- 骨牌
- long 型应该加上 l或者L
- L型楼梯
- BakcTrack "L型路线"
- l
- .,l
- l
- l
- l
- ';l
- fl2440——驱动学习-Platform_Button驱动代码分析
- 动态规划----贪心的动态规划问题
- 如何让div中的文本处于水平居中和垂直居中
- Android仿美团订单悬浮view
- 状态模式
- L型骨牌
- 使用jdbc对MySQL数据库进行增删改查
- Android:简单动画效果-淡入淡出播放
- 19.ConcurrentHashMap
- centos7下的基于nginx的fastcgi环境搭建及样例测试
- platform驱动学习二之led测试实例
- C/C++经典程序训练3---模拟计算器
- 蓝桥杯 历届试题 打印十字图
- 计蒜客-火柴棍游戏