【题目链接】

ybt 1122:计算鞍点
OpenJudge NOI 1.8 05:计算鞍点

【题目考点】

1. 二维数组

2. 求最大最小值

【思路及题解代码】

解法1:

遍历各行,先找到这一行的最大值,假设最大值在第m_j列,然后判断该值是不是第m_j列的最小值,如果是,那么该位置就是鞍点。

#include<bits/stdc++.h>
using namespace std;
int main()
{bool isFound = false;//是否找到鞍点int a[6][6];for(int i = 1; i <= 5; ++i)for(int j = 1; j <= 5; ++j)cin>>a[i][j];for(int i = 1; i <= 5; ++i)//找到每行的最大值,而后判断该值是否是这一列的最小值{int m_j = 1;//m_j:最大值的纵坐标for(int j = 1; j <= 5; ++j)//遍历第i行,j是列号,找到最大值{if(a[i][j] > a[i][m_j])m_j = j;}//此时a[i][m_j]是第i行的最大值bool isAndian = true;//判断a[i][m_j]是否是第m_j列的最小值,如果是,那么a[i][m_j]就是鞍点for(int k = 1; k <= 5; ++k)//遍历第m_j列 k是行号{if(a[k][m_j] < a[i][m_j])//只要在第m_j列找到一个小于a[i][m_j]的元素,那么该点就不是鞍点{isAndian = false;break;}}if(isAndian){cout<<i<<' '<<m_j<<' '<<a[i][m_j]<<endl;isFound = true;break;}}if(isFound == false)cout<<"not found"<<endl;return 0;
}

解法2:

设整型二维数组x,初始化为0。寻找各行的最大值的位置,若该位置是(i,j),那么将x[i][j]++。寻找各行最小值的位置,若位置是(i,j),将x[i][j]++。遍历数组x,如果发现某个位置x[i][j] == 2,那么该位置就是鞍点。否则就没有鞍点。

#include<bits/stdc++.h>
using namespace std;int main()
{int a[6][6], x[6][6] = {};for(int i = 1; i <= 5; ++i)for(int j = 1; j <= 5; ++j)cin>>a[i][j];for(int i = 1; i <= 5; ++i)//找到每行的最大值{int m_j = 1;//m_j:最大值的纵坐标for(int j = 1; j <= 5; ++j)//遍历第i行,j是列号,找到最大值{if(a[i][j] > a[i][m_j])m_j = j;}x[i][m_j]++;}for(int j = 1; j <= 5; ++j)//找到每列的最小值{int m_i = 1;//m_i:最小值的横坐标for(int i = 1; i <= 5; ++i)//遍历第j列,i是列号,找最小值{if(a[i][j] < a[m_i][j])m_i = i;}x[m_i][j]++;}for(int i = 1; i <= 5; ++i)for(int j = 1; j <= 5; ++j){if(x[i][j] == 2)//找到鞍点{cout<<i<<' '<<j<<' '<<a[i][j];return 0;}}cout<<"not found";return 0;
}

信息学奥赛一本通 1122:计算鞍点 | OpenJudge NOI 1.8 05:计算鞍点相关推荐

  1. 信息学奥赛一本通 1190:上台阶 | OpenJudge NOI 2.3 3525:上台阶

    [题目链接] ybt 1190:上台阶 OpenJudge NOI 2.3 3525:上台阶 注:ybt 1190最大数据数量为71,而OpenJudge 2.3 3525中最大数据数量为100.如果 ...

  2. 信息学奥赛一本通 1225:金银岛 | OpenJudge NOI 4.6 1797:金银岛

    [题目链接] ybt 1225:金银岛 OpenJudge NOI 4.6 1797:金银岛 [题目考点] 1. 贪心 2. 部分背包问题 [解题思路] 该题为部分背包问题 1. 贪心选择性质的证明: ...

  3. 信息学奥赛一本通 1226:装箱问题 | OpenJudge NOI 4.6 19:装箱问题

    [题目链接] ybt 1226:装箱问题 OpenJudge NOI 4.6 19:装箱问题 [题目考点] 1. 贪心 [解题思路] 该题说是三维立方体,实际上无论是包裹还是产品,高度都是h,因而不用 ...

  4. 信息学奥赛一本通 1216:红与黑 / OpenJudge NOI 2.5 1818

    [题目链接] ybt 1216:红与黑 OpenJudge NOI 2.5 1818:红与黑 [题目考点] 1. 连通块问题 2. 深搜/广搜 [解题思路] 1. 深搜 从第一个格子出发,遍历所有可以 ...

  5. 信息学奥赛一本通 1115:直方图 | OpenJudge NOI 1.9 09

    [题目链接] ybt 1115:直方图 OpenJudge NOI 1.9 09:直方图 [题目考点] 1. 散列存储 也叫哈希存储.其思想为:将要存储的值通过某种算法映射到存储地址,映射算法为散列函 ...

  6. 信息学奥赛一本通 1114:白细胞计数 | OpenJudge NOI 1.9 08

    [题目链接] ybt 1114:白细胞计数 OpenJudge NOI 1.9 08:白细胞计数 [题目考点] 1. 求数组中最大值及其下标 方法1:保存最大值和下标 设置临时最大值变量mx,mx的初 ...

  7. 信息学奥赛一本通 1109:开关灯 | OpenJudge NOI 1.5 31:开关灯

    [题目链接] ybt 1109:开关灯 OpenJudge NOI 1.5 31:开关灯 [题目考点] 1. 模拟 2. 循环.数组 3. 用逗号分隔输出 设标志位:isFirst,表示现在输出的是否 ...

  8. 信息学奥赛一本通 1073:救援 | OpenJudge NOI 1.5 19:救援

    [题目链接] ybt 1073:救援 OpenJudge NOI 1.5 19:救援 [题目考点] 1. 直角坐标系下某点到原点的距离 点(x,y)(x,y)(x,y)到原点的距离d=x2+y2d = ...

  9. 信息学奥赛一本通 1070:人口增长 | OpenJudge NOI 1.5 14:人口增长问题

    [题目链接] ybt 1070:人口增长 OpenJudge NOI 1.5 14:人口增长问题 [题目考点] 1. 循环求幂 设变量r初始值为1:int r = 1; 循环n次每次循环中输入变量a, ...

最新文章

  1. 从命令行到IDE,版本管理工具Git详解(远程仓库创建+命令行讲解+IDEA集成使用)
  2. Hadoop1 Centos伪分布式部署
  3. 得到一个数组里面相同元素的个数
  4. centos 安装mysql5.7_Zabbix 4.2.5 安装部署实践详解
  5. WPF messagebox生命周期的探讨
  6. MySQL 5.7 免安装版配置
  7. 关于android LinearLayout的比例布局(转载)
  8. 理解 Hook 规则
  9. 现阶段硕士的困境:读博没决心,不读也闹心…
  10. [19保研]厦门大学软件学院暑期夏令营招生简章
  11. emmagee 性能工具梳理
  12. 单片机的函数信号发生器,输出4种波形,频率可调,原理图,仿真和C程序
  13. 什么是计算机的用户名和密码,电脑用户名是什么意思
  14. NSIS添加everyone权限
  15. matlab均值量化函数_Matlab量化函数quantiz解析
  16. win7旗舰版通知windows不是正版副本解决方法
  17. python自动化plc_PYTHON – 让“Monty 语言”进入自动化行业:第 4 部分
  18. 完美解决No files matched pattern
  19. android中android:wight详解
  20. 关于 SwiperJS 的初次使用

热门文章

  1. Ubuntu 12.04 wine QQ
  2. 《101 Windows Phone 7 Apps》读书笔记-BABY MILESTONES
  3. 长生不死、名人复活?疯狂的AI时代,人类竟要靠IA实现“永生”
  4. Simulink之负载换流式无源逆变电路
  5. python中递归函数写法_python中递归函数如何创建
  6. 【设计模式】各个击破单例模式的8种写法
  7. 线程池,远没你想象的那么简单
  8. IDEA如何像Eclipse打开多个项目?
  9. 微信公众平台开发教程第21篇-“可信网址”白名单
  10. Java进阶 | 泛型机制与反射原理