python输出棋盘_棋盘覆盖&动态界面

实验一、棋盘覆盖问题

03f494e093794c15cb2a1f476c65bcbc.png

输入

测试数据有若干行,每行3个整数k,x,y,其中n=2k是棋盘的规模,(x,y)是特殊方格的位置坐标,(k>1)。

输出

对输入中的每个正整数k,第一行上先输出“Case #: n=”,接着输出n的值,其中#是测试数据的序号,从1开始。第2到第n+1行,输出对于规模为n=2k的棋盘的一个覆盖。在该棋盘覆盖中,同一个骨牌用3个相同的数字表示。各骨牌表示的数字从1开始编号。特殊方格用#表示。

输入样例

1 2 1

2 2 3

输出样例

Case 1: n=2

1 #

1 1

Case 2: n=4

1 1 2 2

1 5 # 2

3 5 5 4

3 3 4 4

831f196c0b157769a5c06d56ca587f5b.png

实验报告要求:

1.先分析要点、写出动态方程

2.提供正确运行的程序,可处理若干组数据,加上必要的注释及运行结果截图。

3.设计、调试中的问题及实验体会。

要求:可根据自己情况进行优化,验收时根据完成情况评分

1、第一层次(基本要求),用数字形式输出一个棋盘覆盖如输出样例的形式。

2、第二层次(进阶要求),用图形处理软件输出棋盘覆盖,用颜色将各骨牌进行区分。

C++代码如下:

#include<iostream>
#include<iomanip>
#include<cmath>
using namespace std;
int tile;
int board[100][100];

void chessBoard(int tr,int tc,int dr,int dc,int size){
    
    if(size==1)
        return;
    int t=tile++;
    int s=size/2;
    //检查特殊方块是否在左上角棋盘中
    if(dr<tr+s&&dc<tc+s)
        chessBoard(tr,tc,dr,dc,s);
    else
    {
    
        board[tr+s-1][tc+
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值