P5461 赦免战俘题解

题目

现有2n×2n(n≤10) 名作弊者站成一个正方形方阵等候kkksc03的发落。kkksc03决定赦免一些作弊者。他将正方形矩阵均分为4个更小的正方形矩阵,每个更小的矩阵的边长是原矩阵的一半。其中左上角那一个矩阵的所有作弊者都将得到赦免,剩下3个小矩阵中,每一个矩阵继续分为4个更小的矩阵,然后通过同样的方式赦免作弊者……直到矩阵无法再分下去为止。所有没有被赦免的作弊者都将被处以棕名处罚。

给出n,请输出每名作弊者的命运,其中0代表被赦免,1代表不被赦免。

输入输出格式

输入格式

一个整数n。

输出格式

2^{n}\times 2^{n}的 01 矩阵,代表每个人是否被赦免。数字之间有一个空格。

输入输出样例

输入样例

3

输出样例

0 0 0 0 0 0 0 1
0 0 0 0 0 0 1 1
0 0 0 0 0 1 0 1
0 0 0 0 1 1 1 1
0 0 0 1 0 0 0 1
0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1
1 1 1 1 1 1 1 1

代码

//经典的递归套路的代码,遇到反复相同的操作过程,使用递归
#include<iostream>
using namespace std;
int n,a[1050][1050],p=1;
void bianhua(int x,int l,int h){//x为正方形边长,l、h分别为递归正方形的横纵坐标
	if(x==2){//终止条件
		a[l][h]=0;
		return;
	}
    //具体操作
	for(int i=l;i<=l+x/2-1;i++){
		for(int j=h;j<=h+x/2-1;j++){
			a[i][j]=0;
		}
	}
    //其余部分操作完成
	bianhua(x/2,l,h+x/2);
	bianhua(x/2,l+x/2,h);
	bianhua(x/2,l+x/2,h+x/2);
}
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		p*=2;
	}
	for(int i=1;i<=p;i++){
		for(int j=1;j<=p;j++){
			a[i][j]=1;
		}
	}
	bianhua(p,1,1);//递归
	for(int i=1;i<=p;i++){
		for(int j=1;j<=p-1;j++){
			cout<<a[i][j]<<" ";
		}
		cout<<a[i][p]<<endl;//避免最后多打一个空格,最后一列单独处理
	}
	return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/319550.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AI与编程学习

在C语言中&#xff0c;指针通常与字符数组或字符串打交道时会涉及到ASCII码的转换&#xff0c;而不是用于表现多位数的第一位。48这个值对应的是ASCII码表中数字字符0的编码。 如果你有一个表示多位数的字符数组&#xff0c;例如&#xff1a; c char number[] "1234&qu…

Abaqus汉化教程

用钢铁意志&#xff0c;成就不平凡人生。 今天博主整理了一下Abaqus2023汉化教程&#xff0c;希望大家学习。 第一步&#xff0c;在在菜单栏找到Abaqus CAE右键打开文件所在的位置 第二步&#xff1a;继续右键Abaqus CAE右键打开文件所在的位置 第三步&#xff1a;然后进入到…

Neo4j知识图谱(1)初识Neo4j

首先第一步是安装JDK和Neo4j&#xff0c;配置他们的环境变量&#xff0c;因为Neo4j不支持低版本JDK&#xff0c;所以要下载较新版本的。安装就在oracle官网下载。配置环境变量在之前博文有说过&#xff0c;配置完环境变量之后可以在命令行窗口查看一下JDK版本。&#xff08;最好…

webpack魔法注释-预获取/预加载模块

Webpack v4.6.0 增加了对预获取&#xff08;prefetch&#xff09;和预加载&#xff08;preload&#xff09;的支持。 在声明 import 时&#xff0c;使用下面这些内置指令&#xff0c;可以让 webpack 输出“resource hint”&#xff0c;来告知浏览器&#xff1a; prefetch&…

决策树:理解机器学习中的关键算法

决策树&#xff1a;理解机器学习中的关键算法 决策树是一种流行而强大的机器学习算法&#xff0c;它从数据中学习并模拟决策过程&#xff0c;以便对新的未知数据做出预测。由于其直观性和易理解性&#xff0c;决策树成为了分类和回归任务中的首选算法之一。在本文中&#xff0…

【信号与系统】【北京航空航天大学】实验二、连续时间系统的时域分析【MATLAB】

一、实验目的 1、掌握连续时间信号的卷积运算以及其对应的 MATLAB 实现方法&#xff1b; 2、掌握连续系统的冲激响应、阶跃响应 以及其对应的 MATLAB 实现方法&#xff1b; 3、掌握利用 MATLAB 求 LTI &#xff08;Linear Time-Invariant, 线性时不变&#xff09;系统响应的方…

[书生·浦语大模型实战营]——XTuner 大模型单卡低成本微调

1.Finetune简介 在未经过微调的pretrained LLM中&#xff0c;模型只会尽量去拟合你的输入&#xff0c;也就是说模型并没有意识到你在提问&#xff0c;因此需要微调来修正。 1.1常用的微调模式 LLM的下游应用中,增量预训练和指令跟随是经常会用到的两种的微调模式。 增量预训练…

Qt6.5示例:QDomDocument类解析XML文档和文件

01 QDomDocument介绍 QDomDocument类是用于处理XML文档的一个类。QDomDocument提供了对XML文档数据访问的一系列功能&#xff0c;主要功能包括如下&#xff1a; 解析XML文档&#xff1a;QDomDocument可以将XML文档解析为树形结构&#xff0c;每个节点都是一个QDomNode对象&…

企业网盘助力数字化教育资源库建设

教育行业数字化是适应社会发展的必然选择&#xff0c;是教育行业的未来重要发展趋势。万事开头难&#xff0c;如何在数字化时代升级转型是教育行业团队正在面临的挑战。Zoho Workdrive企业网盘深耕智慧文件管理服务&#xff0c;为教育行业量身打造集中文件管理库&#xff0c;推…

【MATLAB源码-第111期】基于matlab的SCMA系统误码率仿真,采用polar码编码,输出误码率曲线。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 SCMA&#xff08;Sparse Code Multiple Access&#xff09;系统是一种先进的多用户多输入多输出&#xff08;MU-MIMO&#xff09;通信系统&#xff0c;它采用了一种独特的多址访问技术&#xff0c;旨在提高无线通信网络的效率…

CISP注册信息系统安全认证,2024年1月20日即将开课~想了解点击查看

CISP注册信息系统安全认证 1&#x1f237;20日 开课~ 想报名的必须提前预约啦 &#x1f447;&#x1f447;&#x1f447; 课程介绍 本课程包括10个独立的知识域&#xff08;安全工程与运营、计算环境安全、软件安全开发、网络安全监管、物理与网络通信安全、信息安全保障、信…

vue2、vue3里面去掉访问地址中路由‘#‘号--nginx配置

需求 我们这里分享一下关于Vue2和Vue3里面如何去掉浏览器路由里面#号的问题&#xff0c;以及nginx的配置。 去掉#号问题之前我们先讨论一下html中的hash模式和history模式。 html中的hash模式 HTML的hash模式指的是URL中的锚点部分&#xff08;#后面的内容&#xff09;被用…

datavrap可视化设计器使用手册

datavrap使用手册 一、产品简介 datavrap是一个动态数据可视化设计器&#xff0c;通过简单配置生成可视化视频&#xff0c;图片和gif。 站长&#xff1a;B站UP&#xff0c;夹克mnnm 这个产品的灵感是在做B站视频时&#xff0c;觉得每次通过修改代码录屏实现视频制作太过于繁琐&…

桌面云虚拟机Ubuntu离线安装open-vm-tools

桌面云虚拟机Ubuntu离线安装open-vm-tools 背景解决思路安装步骤1. 下载open-vm-tools及其依赖软件包2. 软件包转ISO文件3. 安装open-vm-tools 背景 公司办公在桌面云中进行开发&#xff0c;桌面云是无法访问外网的&#xff0c;然后又有安装虚拟机的需求&#xff0c;使用VMwar…

Springboot中使用Filter过滤器

1、概述 springboot工程中使用Filter过滤器与其他地方使用基本相同&#xff0c;只是注入的方式不同。 2、创建Filter过滤器 实现Filter接口&#xff0c;重写doFilter方法 filterChain.doFilter(servletRequest,servletResponse);表示放行 public class MyFilter implement…

基于TCP的全双工网络编程实践

首先我们先了解一下什么是全双工通信&#xff1f; 全双工数据通信允许数据同时在两个方向上传输&#xff0c;因此&#xff0c;全双工通信相当于是两个单工通信方式的结合&#xff0c;它要求发送设备和接收设备都有独立的接收和发送能力。 TCP服务端代码&#xff1a; #includ…

STM32 定时器输入捕获2——捕获高电平时长

由上图我们可以知道&#xff0c;高电平时间t2-t1。在代码中&#xff0c;可以记录此时t1的时间然后再记录t2的时间&#xff0c;t2-t1&#xff0c;就是我们所想要的答案。 但是&#xff0c;还有更简单一点点的&#xff0c;当到达t1的时候&#xff0c;我们把定时器清零&#xff0c…

【前后端的那些事】解放后端!10min快速上手人人代码生成器(后端篇)

人人代码生成器【后端篇】 文章目录 人人代码生成器【后端篇】1. 克隆renren-generator2. 配置项目信息3. 配置数据库信息4. 启动项目5. 创建springboot项目5.1 pom.xml5.2 创建包结构5.3 编写application.yml5.4 将生成代码集成到项目中5.5 集成common模块5.6 启动项目 前言&a…

一键批量整理:将相同名称的文件归类至指定文件夹

随着电脑中的文件日益增多&#xff0c;文件管理成为了让人头疼的问题。相似的文件名&#xff0c;难以分类的内容&#xff0c;让你在寻找和整理时耗费大量时间。现在&#xff0c;有了我们的全新工具&#xff0c;这些烦恼全部消失。 第一步&#xff1a;进入文件批量改名高手主页面…

如何在海洋cms添加广告

1:下载广告代码&#xff0c;注意广告中的图片要放在自己的server上&#xff0c;图片地址要改为自己的实际图片地址&#xff0c;图片存放位置&#xff0c;存在模板的image里面 2在海洋cms后台添加广告管理&#xff0c;只需要广告index.html代码&#xff0c;转换成js代码 广告名…