蓝桥杯:棋盘(Java)

目录

  • 问题描述
  • 输入格式
  • 输出格式
  • 代码实现

问题描述

小蓝拥有n × n大小的棋盘,一开始棋盘上全都是白子。小蓝进行了m.次操作,每次操作会将棋盘上某个范围内的所有棋子的颜色取反(也就是白色棋子变为黑色,黑色棋子变为白色)。请输出所有操作做完后棋盘上每个棋子的颜色。

输入格式

输入的第一行包含两个整数n,m,用一个空格分隔,表示棋盘大小与操作数。
接下来m行每行包含四个整数x1,y1,x2,y2,相邻整数之间使用一个空格分隔,表示将在x1至x2行和y1至y2列中的棋子颜色取反。

3 3
1 1 2 2
2 2 3 3
1 1 3 3

输出格式

输出n行,每行n个0或1表示该位置棋子的颜色。如果是白色则输出0,否则输出1。

001
010
100

代码实现

import java.util.Scanner;

public class Main{

	public static void main(String[] args) {

		// TODO Auto-generated method stub
		Scanner scan = new Scanner(System.in);
		// 在此输入您的代码...
		int n = scan.nextInt();// 棋盘大小
		int m = scan.nextInt();// 操作数
		int[][] arr = new int[n][n];// 创建二维数组存储棋子
		// 循环输入指令
		for (int i = 0; i < m; i++) {
			// 取反两个坐标之间的区域
			int x1 = scan.nextInt();
			int y1 = scan.nextInt();
			int x2 = scan.nextInt();
			int y2 = scan.nextInt();
			// 调用反转函数
			reverse(arr, x1, y1, x2, y2);
		}
		// 打印棋盘内容
		for (int i = 0; i < n; i++) {
			for (int j = 0; j < n; j++) {
				System.out.print(arr[i][j]);
			}
			System.out.println();// 每打印一行插入换行符
		}

		scan.close();
	}

	// 二维数组元素取反函数
	public static void reverse(int[][] arr, int x1, int y1, int x2, int y2) {
		// x1到x2之间,y1到y2之间的元素取反
		for (int i = x1 - 1; i <= x2 - 1; i++) {
			for (int j = y1 - 1; j <= y2 - 1; j++) {
				if (arr[i][j] == 1) {
					// 1变0
					arr[i][j] = 0;
				} else {
					// 0变1
					arr[i][j] = 1;
				}
			}
		}
	}
}

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

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

相关文章

Stable Diffusion 模型分享:CyberRealistic XL(真实)cyberrealisticXL_v11VAE.safetensors

本文收录于《AI绘画从入门到精通》专栏,专栏总目录:点这里,订阅后可阅读专栏内所有文章。 文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八下载地址模型介绍

计算机网络基础:宏观认识

目录 一、网络发展背景与基本概念 二、网络协议的意义与TCP/IP五层结构模型 三、网络传输的基本流程与封装分用 四、ip地址和mac地址 随着信息技术的飞速发展&#xff0c;计算机网络已经成为了现代社会不可或缺的一部分。无论是工作、学习还是娱乐&#xff0c;我们几乎都离…

Crossref

https://baijiahao.baidu.com/s?id1766583173146005960&wfrspider&forpc https://zhidao.baidu.com/question/1796197318615421547.html

Java垃圾回收2

垃圾回收的算法有哪些 通过可达性分析算法&#xff0c;我们已经可以找到需要回收的对象。现在需要通过垃圾回收算法&#xff0c;把垃圾回收&#xff0c;释放内存。 1.标记清除算法(使用较少) 标记清除算法&#xff0c;是将垃圾回收分为2个阶段&#xff0c;分别是标记和清除。…

面试官:来说说vue3是怎么处理内置的v-for、v-model等指令?

前言 最近有粉丝找到我&#xff0c;说被面试官给问懵了。 粉丝&#xff1a;面试官上来就问“一个vue文件是如何渲染成浏览器上面的真实DOM&#xff1f;”&#xff0c;当时还挺窃喜这题真简单。就简单说了一下先是编译成render函数、然后根据render函数生成虚拟DOM&#xff0c;…

国外GIS软件排名简介<30个>

简介 国外gisgeography网站进行了一次GIS软件排名&#xff0c;通过分析、制图、编辑等因素进行测试&#xff0c;具体规则如下&#xff1a; 分析&#xff1a;矢量/栅格工具、时态、地统计、网络分析和脚本。 制图&#xff1a;地图类型、坐标系、地图布局/元素、标注/注记、3D …

请勿假设你的用户都有管理员权限

有些人觉得自己很聪明&#xff0c;他们在程序中做了这样一项”优化”。 在程序的安装阶段&#xff0c;他们不会安装某些程序功能&#xff0c;而是等到用户第一次使用的时候才执行&#xff0c;也即所谓的 “按需加载”。 问题在于&#xff0c;第一次使用的时候&#xff0c;用户…

CSS-布局

display display 属性是用于控制 布局 的最重要的 CSS 属性。display 属性规定是否/如何显示元素。 每个 HTML 元素都有一个默认的 display 值&#xff0c;具体取决于它的元素类型。大多数元素的默认 display 值为 block 或 inline。 block block&#xff1a;块级元素。块级…

从二本调剂到上海互联网公司算法工程师:我的成长故事

探讨选择成为一名程序员的原因&#xff0c;是出于兴趣还是职业发展&#xff1f; 在这个科技飞速发展的时代&#xff0c;程序员这一职业无疑成为了许多人眼中的香饽饽。那么&#xff0c;是什么驱使着越来越多的人选择投身于这一行业呢&#xff1f;是出于对编程的热爱&#xff0…

三步教你怎么把icloud照片恢复至iphone!

“我手机里面照片被优化后&#xff0c;然后不小心把所有被优化的模糊照片从手机中删除了&#xff0c;但是iCloud还有&#xff0c;我应该怎样把iCloud的照片重新放回手机&#xff1f;谢谢。” 在使用iPhone时&#xff0c;iCloud照片库是一个非常方便的功能&#xff0c;它允许你在…

文化=知识+素质!电动车限制多!——早读(逆天打工人爬取热门微信文章解读)

你是一个有文化的人&#xff01; 引言Python 代码第一篇 洞见 一个人有没有文化&#xff0c;就看这五点第二篇 人民日报 来啦 新闻早班车要闻社会政策 结尾 知耻近乎勇 文化教会我们自省 以羞耻心为镜 照见自我 不断向善向上。 引言 绝了 昨天晚上早早上床 10点左右就睡眠模…

微信小程序自定义导航栏定位及胶囊按钮图解

在自定义小程序导航栏时&#xff0c;右上角的胶囊&#xff08;MenuButton&#xff09;在不同机型测试&#xff0c;会发现很难适配。 实测中 不同的手机&#xff0c;胶囊高度不一样、状态栏高度不一样。与模拟器显示的情况是不一样的。 由于小程序在不同的手机上顶部布局会发生…

单片机入门还能从51开始吗?

选择从51单片机开始入门还是直接学习基于ARM核或RISC核的单片机&#xff0c;取决于学习目标、项目需求以及个人兴趣。每种单片机都有其特定的优势和应用场景&#xff0c;了解它们的特点可以帮助你做出更合适的选择。 首先&#xff0c;我们说一下51单片机的优势&#xff1a; 成熟…

设计模式之模板方法模式详解(上)

模板方法模式 1&#xff09;概述 1.定义 定义一个操作中算法的框架&#xff0c;而将一些步骤延迟到子类中&#xff0c;模板方法模式使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 2.方案 背景&#xff1a;某个方法的实现需要多个步骤&#xff08;类似…

Postman之接口测试

接口测试的必要条件 &#xff1a;请求方式、请求协议、请求地址、请求头、请求参数 常用请求方式 &#xff1a;Get请求&#xff08;get请求一般是获取数据&#xff09;、Post请求&#xff08;post请求一般是提交数据&#xff09; 传参格式 &#xff1a;表单提交、请求体提交 注…

Golang入门教程(非常详细)从零基础入门到精通,看完这一篇就够了

文章目录 一、golang 简介 1. go 语言特点2. go 语言应用领域3. 使用 go 语言的公司有哪些 二、安装 golang 1. golang 下载安装2. 配置环境变量 三、golang 开发工具 1. 安装 VSCode2. 下载所需插件 四、第一个 golang 应用 1. main 包的含义2. 示例 一、golang 简介 Go 是一…

uniapp开发微信小程序:用户手机号授权获取全流程详解与实战示例

随着多端小程序研发工具的日益普及&#xff0c;诸如uniapp、Taro、Flutter等跨平台解决方案使得开发者能够高效地构建同时适配多个主流小程序平台&#xff08;如微信、支付宝、百度、字节跳动等&#xff09;的应用。尽管各平台间存在一定的差异性&#xff0c;但在获取用户手机号…

批量插入10w数据方法对比

环境准备(mysql5.7) CREATE TABLE user (id bigint(20) NOT NULL AUTO_INCREMENT COMMENT 唯一id,user_id bigint(10) DEFAULT NULL COMMENT 用户id-uuid,user_name varchar(100) NOT NULL COMMENT 用户名,user_age bigint(10) DEFAULT NULL COMMENT 用户年龄,create_time time…

【Linux】应用层协议序列化和反序列化

欢迎来到Cefler的博客&#x1f601; &#x1f54c;博客主页&#xff1a;折纸花满衣 &#x1f3e0;个人专栏&#xff1a;题目解析 &#x1f30e;推荐文章&#xff1a;C【智能指针】 前言 在正式代码开始前&#xff0c;会有一些前提知识引入 目录 &#x1f449;&#x1f3fb;序列…

人造石墨电极下游应用集中在钢铁冶炼领域 行业市场份额集中在少数企业

人造石墨电极下游应用集中在钢铁冶炼领域 行业市场份额集中在少数企业 人造石墨电极是以石油焦、针状焦为主要原材料&#xff0c;煤沥青为粘结剂&#xff0c;经过煅烧、粉碎磨粉、配料混捏、挤压成形、焙烧、沥青浸渍、石墨化、机械加工等一系列工序生产出来的一种耐高温石墨质…