蓝桥杯:棋盘(Java)

server/2024/11/15 6:01:13/

目录

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

问题描述

小蓝拥有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

代码实现

java">import java.util.Scanner;public class Main{public static void main(String[] args) {// TODO Auto-generated method stubScanner 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变0arr[i][j] = 0;} else {// 0变1arr[i][j] = 1;}}}}
}

http://www.ppmy.cn/server/2164.html

相关文章

javase_进阶 day10 集合(泛型,数据结构)

1.泛型 1.1泛型概述 泛型的介绍 ​ 泛型是JDK5中引入的特性&#xff0c;它提供了编译时类型安全检测机制 泛型的好处 把运行时期的问题提前到了编译期间避免了强制类型转换 泛型的定义格式 <类型>: 指定一种类型的格式.尖括号里面可以任意书写,一般只写一个字母.例如:…

r3live 使用前提 雷达-相机外参标定 livox_camera_lidar_calibration

标定的是相机到雷达的,R3live下面配置的雷达到相机的,所以要把得到外参旋转矩阵求逆,再填入,平移矩阵则取负 港科大livox_camera_calib虽然操作方便&#xff0c;但是使用mid360雷达会有视角问题&#xff08;投影三维点到相机&#xff09;&#xff0c;尝试了很多场景&#xff0c…

Linux-线程知识点(2)

目录 线程的取消线程的清理函数线程的局部存储向线程发送信号 线程的取消 Linux提供了如下函数来控制线程的取消&#xff1a; int pthread_cancel(pthread_t thread);一个线程可以通过该函数向另一个线程发送取消请求。这不是一个阻塞接口&#xff0c;发出请求后&#xff0c;…

杰发科技AC7840——CAN通信简介(4)_过滤器设置

0. 简介 注意&#xff1a;过滤器最高三位用不到&#xff0c;因此最高位随意设置不影响过滤器。 1. 代码分析 注意设置过滤器数量 解释的有点看不懂 详细解释...也看不大懂 Mask的第0位是0&#xff0c;其他位都是1(就是F?)&#xff0c;那就指定了接收值就是这个数&#xff0c;…

【opencv】示例-stiching.cpp 图像拼接

#include "opencv2/imgcodecs.hpp" // 导入opencv图像编码功能库 #include "opencv2/highgui.hpp" // 导入opencv高层用户界面功能库 #include "opencv2/stitching.hpp" // 导入opencv图像拼接功能库#include <iostream> // 导入输入输出…

通过实例学C#之FileStream类

简介 可以通过此类进行文件读取。 首先在项目所在文件夹的Bin文件中新建一个test.txt文件&#xff0c;里面输入内容“hello world!”。 构造函数 FileStream (string path, FileMode mode&#xff0c;FileAccess access) 通过路径文件path&#xff0c;打开文件模式mode以及读写…

【LeetCode热题100】【贪心算法】跳跃游戏

题目链接&#xff1a;55. 跳跃游戏 - 力扣&#xff08;LeetCode&#xff09; 数组的元素表示可以跳的最大长度&#xff0c;要判断能不能跳到最后 不断更新可以跳到的最远距离&#xff0c;如果当前的位置大于可跳最远距离&#xff0c;说明不行 class Solution { public:bool …

计算机视觉入门:探索机器如何“看见”世界

计算机视觉是人工智能领域的一个令人兴奋的分支&#xff0c;它使计算机能够从图像和视频中“看见”和理解世界。这项技术已经渗透到我们生活的方方面面&#xff0c;从智能手机的面部识别到自动驾驶汽车的导航系统。但是&#xff0c;计算机视觉是如何工作的呢&#xff1f;让我们…