当前位置: 首页 > news >正文

CF - Li Hua and Pattern

 

题意:给出了矩阵,里面每个位置分为蓝色或红色(数据上用1和0体现了),给出了一个操作次数,每次可以改变一个坐标的颜色,问能否通过操作使得图像旋转180度后不变。

解:很容易想到,需要使该图像中心对称,应该对称相等的两个位置不相等时,就需要进行一次操作,把其中一个修改成另一个颜色,我在输入这个操作时就计算出了需要修改的次数

cnt=0;
if(n%2==0)cen=n/2;
elsecen=n/2+1;
for(int i=1; i<=n; i++)for(int j=1; j<=n; j++){cin>>a[i][j];if(i>cen || (i==cen && j>cen && n%2==1))if(a[i][j]!=a[n-i+1][n-j+1])cnt++;}

但一开始忽略了很重要的一点,我没完全看明白的题意,

算出需要操作的次数后我就直接把所给操作次数与之相比较

如果次数够了就YES,不够就NO

结果答案错误给我整麻了

然后才发现题目要求给出的这个操作次数是要用完的!!

理解到这个意思那就好做了

先要计算出多出来的次数cnt

当cnt>0时

如果图像n*n的奇数长度的边,那么它最中间那个位置和它自己中心对称,无需考虑是什么颜色,那么不管还需要操作多少次都可以直接操作它消耗掉

但是如果是偶数长度的边,如果多出来奇数次操作数就会使得最后一次操作不得不打破原本的对称状态。

所以说,对此进一步作出判断就行了。

此题:

#include<bits/stdc++.h>
using namespace std;
int t,n,k,cnt,cen,a[1005][1005];
int main()
{cin>>t;while(t--){cnt=0;cin>>n>>k;if(n%2==0)cen=n/2;elsecen=n/2+1;for(int i=1; i<=n; i++)for(int j=1; j<=n; j++){cin>>a[i][j];if(i>cen || (i==cen && j>cen && n%2==1))if(a[i][j]!=a[n-i+1][n-j+1])cnt++;}//cout<<"有"<<cnt<<"次修改"<<endl;if(cnt>k){cout<<"NO"<<endl;continue;}cnt=k-cnt;//多出来的次数//cout<<"多出了"<<cnt<<"次"<<endl;if(n%2==0 && cnt%2==1)cout<<"NO"<<endl;elsecout<<"YES"<<endl;}return 0;
}

 

http://www.lryc.cn/news/62172.html

相关文章:

  • 重磅!阿里云云原生合作伙伴计划全新升级:加码核心权益,与伙伴共赢新未来
  • OSCP-Escape(gif绕过)
  • iMazing2023最新免费版iOS设备管理软件
  • Git上传文件代码到GitHub
  • JavaScript概述二(Date+正则表达式+Math+函数+面向对象)
  • 一个朋友弄来的,太牛了,特别是后面内容,不看不知道,一看吓一跳,电话,热线
  • VGA协议实践
  • 毕业5年的同学突然告诉我,他已经是年薪30W的自动化测试工程师....
  • 操作系统原理 —— 进程有哪几种状态?状态之间如何切换?(七)
  • 可算是熬出头了,测试4年,费时8个月,入职阿里,涨薪14K
  • 5款十分小众的软件,知道的人不多但却很好用
  • Linux驱动开发:uboot启动流程详解
  • 分治与减治算法实验: 排序中减治法的程序设计
  • leetcode两数、三数、四数之和
  • 使用Docker部署wikitten个人知识库
  • 【MYSQL】Java的JDBC编程(idea连接数据库)
  • 机器学习——主成分分析法(PCA)概念公式及应用python实现
  • 手写axios源码系列二:创建axios函数对象
  • HTB-Time
  • 零基础C/C++开发到底要学什么?
  • OpenStack中的CPU与内存超分详解
  • main.m文件解析--@autoreleasepool和UIApplicationMain
  • C语言复习之顺序表(十五)
  • 学系统集成项目管理工程师(中项)系列10_立项管理
  • 电视盒子哪个好?数码小编盘点2023电视盒子排行榜
  • flink动态表的概念详解
  • ArcGIS Pro用户界面
  • HDCTF 2023 Pwn WriteUp
  • 【 Spring 事务 】
  • 【刷题之路】LeetCode 203. 移除链表元素