A - 6789(全面思考)

2023-12-02 23:18
文章标签 思考 全面 6789

本文主要是介绍A - 6789(全面思考),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
题意:已知n行m列,输入的数字只有“6” “7” “8” “9”,问需是否能使矩阵变成中心对称;如果能,请输出最小的翻转次数;否则输出-1;

AC代码

#include <bits/stdc++.h>using namespace std;
int a[510][510];
int main()
{int n,m,i,j;cin>>n>>m;for(i=1; i<=n; i++){for(j=1; j<=m; j++){char ch;//题目数据没有空格,用字符处理;cin >> ch;a[i][j]=ch-'0';}}int sum=0;if(n==1&&m==1)//特判情况{if(a[n][m]==8)//8本身就是中心对称cout<<"0" << endl;elsecout<<"-1"<<endl;//其余都不是中心对称}else{int flag=1,f=1;for(i=1; i<=n; i++){for(j=1; j<=m; j++){if(a[i][j]==6&&a[i][j]==a[n+1-i][m+1-j])sum++;else if(a[i][j]==9&&a[i][j]==a[n+1-i][m+1-j])sum++;else if(a[i][j]==7&&a[i][j]==a[n+1-i][m+1-j])sum++;else if(a[i][j]==8&&a[i][j]==a[n+1-i][m+1-j])sum=sum+0;else if(a[i][j]==6&&a[n+1-i][m+1-j]==9)sum=sum+0;else if(a[i][j]==9&&a[n+1-i][m+1-j]==6)sum=sum+0;else{flag=0;break;}}if(flag==0){f=0;break;}}sum/=2;//全跑一遍,求一半if(m%2!=0&&n%2!=0)//特殊情况奇数行奇数列{if(a[(n/2)+1][(m/2)+1]==8)//中间数是8属于中心对称{f=1;}else f=0;//其余都不是中心对称}if(f==0) cout<<"-1"<<endl;else cout<<sum<<endl;}return 0;
}

这篇关于A - 6789(全面思考)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/447206

相关文章

Python 字符串裁切与提取全面且实用的解决方案

《Python字符串裁切与提取全面且实用的解决方案》本文梳理了Python字符串处理方法,涵盖基础切片、split/partition分割、正则匹配及结构化数据解析(如BeautifulSoup、j... 目录python 字符串裁切与提取的完整指南 基础切片方法1. 使用切片操作符[start:end]2

SpringBoot加载profile全面解析

《SpringBoot加载profile全面解析》SpringBoot的Profile机制通过多配置文件和注解实现环境隔离,支持开发、测试、生产等不同环境的灵活配置切换,无需修改代码,关键点包括配置文... 目录题目详细答案什么是 Profile配置 Profile使用application-{profil

Python自定义异常的全面指南(入门到实践)

《Python自定义异常的全面指南(入门到实践)》想象你正在开发一个银行系统,用户转账时余额不足,如果直接抛出ValueError,调用方很难区分是金额格式错误还是余额不足,这正是Python自定义异... 目录引言:为什么需要自定义异常一、异常基础:先搞懂python的异常体系1.1 异常是什么?1.2

全面解析Golang 中的 Gorilla CORS 中间件正确用法

《全面解析Golang中的GorillaCORS中间件正确用法》Golang中使用gorilla/mux路由器配合rs/cors中间件库可以优雅地解决这个问题,然而,很多人刚开始使用时会遇到配... 目录如何让 golang 中的 Gorilla CORS 中间件正确工作一、基础依赖二、错误用法(很多人一开

深入浅出SpringBoot WebSocket构建实时应用全面指南

《深入浅出SpringBootWebSocket构建实时应用全面指南》WebSocket是一种在单个TCP连接上进行全双工通信的协议,这篇文章主要为大家详细介绍了SpringBoot如何集成WebS... 目录前言为什么需要 WebSocketWebSocket 是什么Spring Boot 如何简化 We

Spring Boot3.0新特性全面解析与应用实战

《SpringBoot3.0新特性全面解析与应用实战》SpringBoot3.0作为Spring生态系统的一个重要里程碑,带来了众多令人兴奋的新特性和改进,本文将深入解析SpringBoot3.0的... 目录核心变化概览Java版本要求提升迁移至Jakarta EE重要新特性详解1. Native Ima

全面掌握 SQL 中的 DATEDIFF函数及用法最佳实践

《全面掌握SQL中的DATEDIFF函数及用法最佳实践》本文解析DATEDIFF在不同数据库中的差异,强调其边界计算原理,探讨应用场景及陷阱,推荐根据需求选择TIMESTAMPDIFF或inte... 目录1. 核心概念:DATEDIFF 究竟在计算什么?2. 主流数据库中的 DATEDIFF 实现2.1

Java操作Word文档的全面指南

《Java操作Word文档的全面指南》在Java开发中,操作Word文档是常见的业务需求,广泛应用于合同生成、报表输出、通知发布、法律文书生成、病历模板填写等场景,本文将全面介绍Java操作Word文... 目录简介段落页头与页脚页码表格图片批注文本框目录图表简介Word编程最重要的类是org.apach

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素

全面解析MySQL索引长度限制问题与解决方案

《全面解析MySQL索引长度限制问题与解决方案》MySQL对索引长度设限是为了保持高效的数据检索性能,这个限制不是MySQL的缺陷,而是数据库设计中的权衡结果,下面我们就来看看如何解决这一问题吧... 目录引言:为什么会有索引键长度问题?一、问题根源深度解析mysql索引长度限制原理实际场景示例二、五大解决