首页 > 其他分享 >Pta|找鞍点

Pta|找鞍点

时间:2024-12-15 19:28:41浏览次数:5  
标签:输出 下标 int 样例 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

 正如题目所说,我们的目标非常明确:1.先找出行中最大,并定位  2.再在行最大的列中进行判断是否为最小。为了节省时间,凡是遇到比他大的数直接break。那么我们如何实现这个代码呢?请看操作:

#include<stdio.h>
int main(){
    int n;
    scanf("%d",&n);
    int j,i;
    int found = 0;
    int findpoint = 1;
    int a[50][50];
    for(i = 0;i<n;i++){
        for(j = 0;j<n;j++){
            scanf("%d",&a[i][j]);
        }
    }
    for(i = 0;i<n;i++){
        findpoint = 1;
        int max = 0;
        int maxnum = a[i][0];//每次循环都要初始化这些变量!
        for(j = 1;j<n;j++){
            if(a[i][j]>=a[i][max]){
                max = j;
                maxnum = a[i][j];
            }
        }
        for(j = 0;j<n;j++){
            if(a[j][max]<maxnum){
                findpoint = 0;
                break;
            }
        }
        if(findpoint==1){
            printf("%d %d\n",i,max);
            found = 1;
        }
    }
    if(found == 0)printf("NONE");
    
    return 0;
}

留下三连吧,这是对我最大的鼓励和支持!

标签:输出,下标,int,样例,Pta,鞍点,输入
From: https://blog.csdn.net/2403_89063607/article/details/144491018

相关文章

  • PTA循环结构 计算e的近似值
    本题要求编写程序,利用e=1+1!1​+2!1​+3!1​+...+n!1​计算e的近似值,直到最后一项的绝对值小于eps时为止,输出e的值并统计累加的项数。输入格式:键盘输入精度eps。输出格式:e=S,count=N,S为eps精度下的多项式的和,结果保留小数点后三位,N为累加的项数。输入样例:0.0001输......
  • PTA循环结构 猜数字游戏
    猜数字游戏是令游戏机随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Toobig”),还是小了(“Toosmall”),相等表示猜到了。如果猜到,则结束程序。程序还要求统计猜的次数,如果1次猜出该数,提示“Bingo!”;如果3......
  • OJ题目详解——1.8~05:计算鞍点
    描述给定一个5*5的矩阵,每行只有一个最大值,每列只有一个最小值,寻找这个矩阵的鞍点。鞍点指的是矩阵中的一个元素,它是所在行的最大值,并且是所在列的最小值。例如:在下面的例子中(第4行第1列的元素就是鞍点,值为8)。11356912478101056911864721510112025......
  • xdoj :寻找马鞍点
    标题:寻找马鞍点问题描述若一个矩阵中的某元素在其所在行最小而在其所在列最大,则该元素为矩阵的一个马鞍点。请写一个程序,找出给定矩阵的马鞍点。输入说明 输入数据第一行只有两个整数m和n,分别表示矩阵的行数和列数;接下来的m行、每行n个整数表示矩阵元素(矩阵中......
  • Optaplanner算法
    一、规划问题1、什么是规划问题​ 规划问题基于有限资源和特定约束条件具有最佳目标。最佳目标可以是任何事情,例如:最大化利润-最佳目标产生最高可能的利润。最小化生态足迹-最佳目标对环境影响最小。最大化员工或客户的满意度-最佳目标优先考虑员工或客户的需求。......
  • PTA 7-2 从身份证号码中提取出出生年月
    分数12作者 崔孝凤单位 山东理工大学输入一个18位的身份证号码,提取出年份和月份并输出,请判断输入的号码是否是18位,如果不是请提示"Invaliddata,inputagain!",并重新输入新的号码。输入格式:输入一个18位的身份证号码。输出格式:在一行中输出出生年和月份,中间用逗号......
  • 这一周的pta上碰到的疑难问题解答(上)
    1.查找指定字符输入格式:输入的第一行是一个待查找的字符。第二行是一个以回车结束的非空字符串(不超过80个字符)。输出格式:如果找到,在一行内按照格式“index=下标”输出该字符在字符串中所对应的最大下标(下标从0开始);否则输出"NotFound"。输入样例1:mprogramming输出......
  • PTA|乙集题库 :写出这个数
    读入一个正整数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10100。输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1空格,但一行中最后一个拼音数字后没有空格。输入样......
  • PTA|乙级题库:成绩排名
    读入n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。输入格式:每个测试输入包含1个测试用例,格式为第1行:正整数n第2行:第1个学生的姓名学号成绩第3行:第2个学生的姓名学号成绩.........第n+1行:第n个学生的姓名学号成......
  • PTA 7-1 通讯录排序
    输入n个朋友的信息,包括姓名、生日、电话号码,本题要求编写程序,按照年龄从大到小的顺序依次输出通讯录。题目保证所有人的生日均不相同。输入格式:输入第一行给出正整数n(<10)。随后n行,每行按照“姓名生日电话号码”的格式给出一位朋友的信息,其中“姓名”是长度不超过10的英文......