实验7-2-8 找鞍点(PTA)

题目:

一个矩阵元素的“鞍点”是指该位置上的元素值在该行上最大、在该列上最小。

本题要求编写程序,求一个给定的n阶方阵的鞍点。

输入格式:

输入第一行给出一个正整数n(1≤n≤6)。随后n行,每行给出n个整数,其间以空格分隔。

输出格式:

输出在一行中按照“行下标 列下标”(下标从0开始)的格式输出鞍点的位置。如果鞍点不存在,则输出“NONE”。题目保证给出的矩阵至多存在一个鞍点。

输入样例1:

4
1 7 4 1
4 8 3 6
1 6 1 2
0 7 8 9

输出样例1:

2 1

输入样例2:

2
1 7
4 1

输出样例2:

NONE

解:

#include<stdio.h>int main(){int n,i,j,flag=0,m,temp=0;scanf("%d",&n);int a[n][n];for(i=0;i<n;i++){for(j=0;j<n;j++){scanf("%d",&a[i][j]);//输入a方阵}}for(i=0;i<n;i++){for(j=0;j<n;j++){//遍历a方阵temp=0;for(m=1;m<n;m++){if(a[i][j]>=a[i][(j+m)%n] && a[i][j]<=a[(i+m)%n][j]){//必须满足在行上最大,在该列上最小。temp++;}}if(temp==n-1){//和行和列上所有元素对比完后,满足则输出printf("%d %d\n",i,j);flag=1;break;}}}if(flag==0){printf("NONE\n");}return 0;
}

第一次一直不能完全通过,第二次回过头来想了想,是因为没有把每一次的关键元素与其行和列的其他元素比较完,这次在遍历a方阵的两层循环里面加了一个循环和行和列其他元素比较就能AC了。虽然还是有点复杂,但这次就先这样吧。

更新:

#include<stdio.h>int main(){int n,i,j,k,s;scanf("%d",&n);int a[n][n];for(i=0;i<n;i++){for(j=0;j<n;j++){scanf("%d",&a[i][j]);}}for(i=0;i<n;i++){for(j=0;j<n;j++){s=0;for(k=1;k<n;k++){if(a[i][j]>=a[i][(j+k)%n] && a[i][j]<=a[(i+k)%n][j]){s++;}}if(s==n-1){//找到就可以直接退出了,因为只有一个鞍点printf("%d %d",i,j);return 0;}}}printf("NONE");return 0;
}

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

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

相关文章

【蓝牙协议栈】【BLE】低功耗蓝牙配对绑定过程分析(超详细)

1. 精讲蓝牙协议栈&#xff08;Bluetooth Stack&#xff09;&#xff1a;SPP/A2DP/AVRCP/HFP/PBAP/IAP2/HID/MAP/OPP/PAN/GATTC/GATTS/HOGP等协议理论 2. 欢迎大家关注和订阅&#xff0c;【蓝牙协议栈】和【Android Bluetooth Stack】专栏会持续更新中.....敬请期待&#xff01…

Three.js 中的 OrbitControls 是一个用于控制相机围绕目标旋转以及缩放、平移等操作的控制器。

demo案例 Three.js 中的 OrbitControls 是一个用于控制相机围绕目标旋转以及缩放、平移等操作的控制器。下面是它的详细讲解&#xff1a; 构造函数: OrbitControls(object: Camera, domElement?: HTMLElement)object&#xff1a;THREE.Camera 实例&#xff0c;控制器将围绕…

4.5 RK3399项目开发实录-案例开发之外部存储设备 rootfs 挂载(wulianjishu666)

嵌入式单片机项目开发资料&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1pJq-exGYrKZJIBaNvcmVsA?pwd3zr4 3.6. 外部存储设备 rootfs 挂载 根文件系统除了可以使用在内部的 eMMC 中的&#xff0c;还可以使用外部存储设备的根文件系统&#xff0c;如 SD 卡&#xf…

JAVA 100道题(14)

14.使用LinkedList实现一个简单的堆栈&#xff08;Stack&#xff09;数据结构。 下面是一个简单的Java程序&#xff0c;使用LinkedList来实现一个堆栈&#xff08;Stack&#xff09;数据结构。在这个程序中&#xff0c;我们定义了一个MyStack类&#xff0c;它包含了一些基本的堆…

从零开始学习在VUE3中使用canvas(五):globalCompositeOperation(图形混合)

一、简介 通过设置混合模式来改变图像重叠区域的显示方式。 const ctx canvas.getContext("2d");ctx.globalCompositeOperation "source-over"; 二、属性介绍 source-over 这是默认的复合操作。将源图像绘制到目标图像上&#xff0c;保留目标图像的不透…

1011: 【C1】【循环】【for】财务管理

题目描述 Larry今年毕业并找到了一份工作。他赚很多钱&#xff0c;但似乎总是不够。Larry认为他需要控制他的投资以解决自己的财务问题。Larry拿到了自己的银行账户详单&#xff0c;想看看自己有多少钱。请帮助Larry写一个程序&#xff0c;通过过去12个月中每月的月末结余&…

IPV6协议之DHCPV6

目录 背景&#xff1a; 一、DHCPV6概述 DHCPv6 Client&#xff1a; DHCPv6 Relay&#xff1a; DHCPv6 Server&#xff1a; 二、DHCPV6工作原理 DHCPV6无状态自动分配 三、DHCP基础配置 服务端 四、DHCPV6地址更新时间&#xff08;DHCPV4租期&#xff09; 五、DHCPV6…

idea 开发serlvet篮球秩序册管理系统idea开发mysql数据库web结构计算机java编程layUI框架开发

一、源码特点 idea开发 java servlet 篮球秩序册管理系统是一套完善的web设计系统mysql数据库 系统采用serlvetdaobean mvc 模式开发&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。 servlet 篮…

☆【前后缀】【双指针】Leetcode 42. 接雨水

【前后缀】【双指针】Leetcode 42. 接雨水 解法1 前后缀分解解法2 双指针 ---------------&#x1f388;&#x1f388;42. 接雨水 题目链接&#x1f388;&#x1f388;------------------- 解法1 前后缀分解 维护一个前缀&#xff08;左侧最高&#xff09;后缀&#xff08;右侧…

【工具】mac 环境配置

【待补充 】 一、maven配置 vim ~/.bash_profile export M3_HOME/Users/chenyang/java_utils/apache-maven-3.6.1 export PATH$PATH:$M3_HOME/bin ​ //mvn -v提示Permission denied 没有权限访问 chmod ax /Users/chenyang/java_utils/apache-maven-3.6.1/bin/mvn 二、java…

【Linux系统编程(进程编程)】进程的退出:父进程等待子进程的退出之僵尸进程与孤儿进程

文章目录 一、进程退出1.1、进程正常退出方式1.2、异常退出 二、父进程等待子进程退出&#xff08;一&#xff09;2.1、为什么要等待子进程退出2.2、&#xff08;1&#xff09;父进程等待子进程退出并收集子进程的退出状态如何等待wstatus空wstatus非空 2.3、&#xff08;2&…

LeetCode---389周赛

题目列表 3083. 字符串及其反转中是否存在同一子字符串 3084. 统计以给定字符开头和结尾的子字符串总数 3085. 成为 K 特殊字符串需要删除的最少字符数 3086. 拾起 K 个 1 需要的最少行动次数 一、字符串及其反转中是否存在同一子字符串 直接暴力枚举即可&#xff0c;代码…

【PHP + 代码审计】数组函数

&#x1f36c; 博主介绍&#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 hacker-routing &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【应急响应】 【Java、PHP】 【VulnHub靶场复现】【面试分析】 &#x1f389;点赞➕评论➕收…

Redis 教程系列之Redis 数据备份与恢复(五)

Redis SAVE 命令用于创建当前数据库的备份。 语法 redis Save 命令基本语法如下&#xff1a; redis 127.0.0.1:6379> SAVE 实例 redis 127.0.0.1:6379> SAVE OK 该命令将在 redis 安装目录中创建dump.rdb文件。 恢复数据 如果需要恢复数据&#xff0c;只需将备份…

力扣面试150 x 的平方根 二分 换底法 牛顿迭代法 一题多解

Problem: 69. x 的平方根 思路 &#x1f468;‍&#x1f3eb; 参考题解 &#x1f496; 袖珍计算器算法 class Solution {public int mySqrt(int x){if (x 0)return 0; // Math.exp(3)&#xff1a;e的三次方int ans (int) Math.exp(0.5 * Math.log(x));return (long) (an…

【数据库】MySQL库与表的基本操作

目录 一、数据库概述 1. SQL分类 2. 存储引擎 二、库的操作 1. 创建数据库 2. 字符集与校验规则 3. 查看数据库 4. 修改数据库 5. 删除数据库 6. 查看连接情况 三、表的操作 1. 创建数据表 2. 查看数据表 3. 修改数据表 4. 删除数据表 一、数据库概述 1. SQL分…

PhpSpreadsheet 读取 excel 里面的图片

使用 phpSpreadSheet 插件去读取 excel 里面的图片时发现坑点很多&#xff0c;这里做一个总结 我使用的是 tp 框架 一、安装 phpSpreadSheet 插件 在composer.json配置 "require": {..."phpoffice/phpspreadsheet": "*" } composer安装 co…

配置环境安装包遇到的问题

1. error: could not install packages due to an oserror: [errno 28] no space left on device 说是磁盘占用过多&#xff0c;查看磁盘占用情况。 df -h 果然占比100% 清理了众多缓存.cache都不行&#xff0c;而且其他利用率很低&#xff0c;可能是pip install的过程中使…

代码随想录刷题随记4-链表

代码随想录刷题随记4 文章目录 代码随想录刷题随记424. 两两交换链表中的节点19.删除链表的倒数第N个节点面试题 02.07. 链表相交142.环形链表II 24. 两两交换链表中的节点 leetcode 链接 没什么技巧&#xff0c;主要考察链表操作的熟练程度 class Solution { public:ListNod…

qt 实现 轮播图效果,且还有 手动 上一页和下一页 已解决

QT中有 轮播图的需求&#xff0c;按照正常html版本 。只需要配置数组就能搞定&#xff0c;但是c qt版本 应该用什么了。 第一想到的是采用定时器。 // 定时器初始化{m_pTime new QTimer(this);m_pTime->start(4 * 1000);//启动定时器并设置播放时间间隔m_pAutoFlag true;/…