G - 李华和图案

news2025/1/14 4:03:31

第一周刷题:

【题目描述】

李华有大小的格局n×n,每个单元格为蓝色或红色。他可以表演完全k操作。在每次操作中,他选择一个单元格并将其颜色从红色更改为蓝色或从蓝色更改为红色。每个单元格都可以根据需要多次选择。是否有可能使图案与其旋转相匹配180度?

【输入】

第一行包含单个整数t (1≤t≤100) — 测试用例的数量。

每个测试用例的第一行包含两个整数n,k (1≤n≤103,0≤K≤109) — 模式的大小和操作数。

下一个每个n行包含n整数一个 a_{i},   a_{j}∈{0,1} 单元格的初始颜色,0对于蓝色和1为红色。

保证总和n在所有测试用例中不超过103

【输出】

对于每组输入,如果可以制作与其旋转匹配的图案,请打印“YES”完全应用后k的操作,否则为“NO”。

解题思路

这个题还是不难的,毕竟它直接遍历是不会时间超限的,可以将数组分为两半,在前面的第一个开始与后面的最后一个比较,遇到不同的情况就将计数器 sum++(代表将其中一块的颜色反转)。

但是还有一个坑,就是题目要求将步数 k 用完,此时还要考虑另一种情况,就是步数没有超过题目要求的大小,还要比较剩余步数是否是偶数,是偶数时,表示将任意一块颜色反转两次,且不会改变结果。

还有一个要考虑的是:如果这个数组的长度和宽度 n 是一个奇数,那么它最中心的那块颜色始终不影响反转的结果,这是一个要考虑的特例。

代码如下:

#include<iostream>
using namespace std;
int a[1003][1003];
int main() {
	int t;
	int n, m;
	cin >> t;
	while (t--) {
		int sum = 0;
		cin >> n >> m;
		for (int i = 0; i < n; i++) {
			for (int j = 0; j < n; j++) {
				cin >> a[i][j];
			}
		}
		for (int i = 0; i < n / 2; i++) {
			for (int j = 0; j < n ; j++) {
				if (a[i][j] != a[n - i - 1][n - j - 1])
					sum++;
			}
		}
		if (n % 2 == 1)
		{
			for (int i = 0; i < n / 2; i++) {
				if (a[n / 2 ][i] != a[n / 2 ][n - i - 1])
					sum++;
			}
		}
		if (sum>m )
			cout << "NO" << endl;
		else {
			if (n % 2 == 0 && (m - sum) % 2 == 1)
				cout << "NO" << endl;
			else
				cout << "YES" << endl;
		}
			
	}
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue-高德地图-立体多边形绘制

前言 在前端开发中&#xff0c;地图展示是常见的需求之一。而高德地图作为国内知名的地图服务商&#xff0c;其提供的 API 功能丰富&#xff0c;使用也相对简单。 本篇文章将介绍如何在 Vue2 中使用 amap/amap-jsapi-loader 安装高德地图并展示地图。 准备工作 首先需要在高…

02 【Sass语法介绍-变量】

sass有两种语法格式Sass(早期的缩进格式&#xff1a;Indented Sass)和SCSS(Sassy CSS) 目前最常用的是SCSS&#xff0c;任何css文件将后缀改为scss&#xff0c;都可以直接使用Sassy CSS语法编写。 所有有效的 CSS 也同样都是有效的 SCSS。 Sass语法介绍-变量 1.前言 Sass …

华为面试题:1+4=5,2+5=12,3+6=21,问8+11=?网友:幼儿园级别

面试&#xff0c;一直都是职场人士绕不过去的坎&#xff0c;对于有的人来说&#xff0c;或许更擅长日常的工作&#xff0c;在面试环节可谓是自己的薄弱环节&#xff0c;但对于有的人来说&#xff0c;相比于工作&#xff0c;更擅长应付面试&#xff01; 最近&#xff0c;有一位…

为了了解国外AI最新动态,分享我经常逛的6 个 YouTube AI频道

AI 正在迅速发展&#xff0c;每周都会有一篇关于该领域新发展的新论文&#xff0c;一种可以提高您工作效率的 AI 工具&#xff0c;或者一个改变一切的公告。 这就是为什么在本文中&#xff0c;我想与您分享最好的 YouTube 频道&#xff0c;以便及时了解 AI 的最新动态。这些 Y…

JUC多并发编程 原子类

基本类型原子类 AtomicIntegerAtomicBooleanAtomicLong 方法说明public final int get()获取当前的值public final int getAndSet(int newValue)获得当前的值,并设置新的值public final int getAndIncrement()获得当前的值&#xff0c;并自增public final int getAndDecremen…

C++内存管理之拷贝memcpy、分配malloc 与释放free

1.内存拷贝 memcpy C 库函数 void *memcpy(void *str1, const void *str2, size_t n) 从存储区 str2 复制 n 个字节到存储区 str1。 #声明&#xff1a; void *memcpy(void *str1, const void *str2, size_t n)#********************** str1 -- 指向用于存储复制内容的目标数组…

【数据结构】二叉树-OJ

Yan-英杰的主页 悟已往之不谏 知来者之可追 C程序员&#xff0c;2024届电子信息研究生 目录 一、相同的树 二、翻转二叉树 三、单值二叉树 四、 二叉树的最大深度 一、相同的树 给你两棵二叉树的根节点 p 和 q &#xff0c;编写一个函数来检验这两棵树是否相同。如果两个…

第六章 3D地形搭建(上)

Unity 提供了多种工具来创建环境特征&#xff0c;例如地形和植被。要在场景中添加地形 (Terrain) 游戏对象&#xff0c;请从菜单中选择 GameObject > 3D Object > Terrain。此过程也会在 Project 视图中添加相应的地形资源。默认情况&#xff0c;场景中出现一个大型平坦的…

Spring AOP 代码加案例详解

Spring AOP目录 Spring AOP主要内容代理模式静态代理动态代理JDK动态代理CGLIB 动态代理JDK代理与CGLIB代理的区别 Spring AOP当前项目存在问题和解决Spring AOP的介绍AOP基本概念实现AOP的两种方式 Spring AOP —— Schema-based方式前置通知 - 入门案例思考后置通知异常通知环…

高压功率放大器在脉冲X射线源技术及火星X射线通信中的应用

实验名称&#xff1a;高速调制脉冲X射线源技术及火星X射线通信应用研究 研究方向&#xff1a;通信技术 测试目的&#xff1a; 火星是深空探测的热点区域&#xff0c;随着对火星探测的深入&#xff0c;未来火星探测器将面临传统通信方式难以应对的恶劣情况&#xff0c;例如火…

ROS学习5:ROS常用组件

【Autolabor初级教程】ROS机器人入门 1. TF 坐标变换 背景 现有一移动式机器人底盘&#xff0c;在底盘上安装了一雷达&#xff0c;雷达相对于底盘的偏移量已知&#xff0c;现雷达检测到一障碍物信息&#xff0c;获取到坐标分别为(x,y,z)&#xff0c;该坐标是以雷达为参考系的…

测试岗35k*16薪,性能测试面试题问什么?测试老鸟总结分析(附答案)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 软件测试面试题&am…

【Python/机器学习】不使用Conda安装Pytorch和Torchvision(Windows系统)

这篇文章介绍如何不使用conda等包管理系统在Windows系统上直接使用pip安装Pytorch和Torchvision。首先你需要有Python 3.6以上的64位环境&#xff08;32位是不可以的哟&#xff01;&#xff09;&#xff0c;并且假设你有NVIDIA显卡且已安装CUDA。 文章目录 1. 查看CUDA版本2. 找…

简记二分算法模板与代码案例:整数二分

本文以 Java 语言实现&#xff0c;整理的代码模板适用于编程竞赛。对代码模板原理的讲解不多&#xff0c;主要记录一下如何使用。 目录 一、算法模板&#xff1a;整数二分 二、例题 一、算法模板&#xff1a;整数二分 整数二分有两套算法模板&#xff0c;这两套算法模板几乎…

03 【Sass语法介绍-嵌套】

1.前言 在企业的实际项目开发中&#xff0c;Sass 的嵌套可以说是非常非常有用的&#xff0c;它可以让你的 CSS 代码易于管理和维护&#xff0c;看起来也比较清晰&#xff0c;这也是 Sass 中很基础的一个知识点&#xff0c;首先掌握这个至关重要&#xff01;在此章节我们将学习…

Golang题目总结

1. slice底层数据结构和扩容原理 数据结构 Go 的 slice 底层数据结构是由一个 array 指针指向底层数组&#xff0c;len 表示切片长度&#xff0c;cap 表示切片容量。扩容原理 &#xff08;1&#xff09;扩容思路&#xff1a;对于 append 向 slice 添加元素时&#xff0c;若 sl…

STM32-HAL-SPI-读写W25Q128FV-JEDEC ID(1)

文章目录 一、SPI串行通信协议1.1 SPI通信协议简介1.2 SPI工作原理1.3 SPI特性 二、W25Q128FV芯片介绍2.1 芯片基本参数介绍2.2 芯片管脚介绍2.3 技术手册等更多信息 三、开发板的板载Flash的连接电路四、测试准备五、初始化片上外设SPI15.1 初始化SPI15.2 设置片选引脚PB145.3…

【网页小功能 最简单入门!!!表白墙】【html+javaScript+css实现 简易 网页版 表白墙】

网页小功能 最简单入门&#xff01;&#xff01;&#xff01; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"…

详解达梦数据库字符串大小写敏感

检查数据库实例大小写敏感信息 场景一、初始化数据库实例为大小写敏感库 DDL操作 总结&#xff1a; 大小写敏感的数据库中&#xff1a; 创建表时&#xff1a; ①如果不对表名或列名添加""&#xff0c;那么表名和列名都自动转换为大写形式&#xff1b; ②如果对表…

自动化运维工具之Ansible

目录 一、自动化运维 1、通过xshell自动化运维 2、Ansible简介 3、Ansible特点及优势 4、Ansible核心程序 5、Ansible工作原理及流程 6、部署Ansible自动化运维工具 7、Ansible常用模块 (1) ansible命令行模块 (2) command模块 (3) shell模块 (4) cron模块 (5) us…