列表

详情


BC130. 最高身高

描述

KiKi想从nm列的方阵队列中找到身高最高的人的位置,请你帮助他完成这个任务。

输入描述

第一行包含两个整数n和m,表示这个方阵队列包含n行m列。从2到n+1行,每行输入m个整数(范围-231~231-1),用空格分隔,共输入n*m个数,表示方阵中的所有人的身高(保证输入身高都不相同)。(1≤x≤n≤10,1≤y≤m≤10)

输出描述

一行,输出两个整数,用空格分隔,表示方阵中身高最高的人所在的行号和列号。

示例1

输入:

2 2
175 180
176 185

输出:

2 2

原站题解

C 解法, 执行用时: 1ms, 内存消耗: 328KB, 提交时间: 2021-08-24

#include<stdio.h>
int main()
{
    int n, m, i, j, x, y, arr[10][10];
    x = 0;
    y = 0;
    scanf("%d %d", &n, &m);
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < m; j++)
        {
            scanf("%d", &arr[i][j]);
            if (arr[x][y] < arr[i][j])
            {
                x = i;
                y = j;
            }
        }
    }
    printf("%d %d", x + 1, y + 1);
    
    return 0;
}

C 解法, 执行用时: 1ms, 内存消耗: 340KB, 提交时间: 2021-08-01

#include<stdio.h>
int main()
{
    int m,n;
    int a[10][10]={0};
    int i=0;
    int max=0;
     scanf("%d %d", &m, &n);
    for(i=0;i<m;i++)
    {
        int j=0;
        for(j=0;j<n;j++)
        {
            scanf("%d",&a[i][j]);
            max=max>a[i][j]?max:a[i][j];
        }
    }
     for(i=0;i<m;i++)
    {
        int j=0;
        for(j=0;j<n;j++)
        {
            if(max==a[i][j])
            {
                printf("%d %d",i+1,j+1);
                break;
            }
        }
    }
    return 0;
}

C 解法, 执行用时: 1ms, 内存消耗: 344KB, 提交时间: 2021-09-08

#include <stdio.h>

int main(){
    int n,m,i,j,k=0,kx,ky;//k用于数组a[i][j]的装填
    int a[11][11]={0};
    int x,y;
    scanf("%d %d",&n,&m);
    for(i=0;i<n;i++)
    {
        for(j=0;j<m;j++)
        {
            scanf("%d",&a[i][j]);
            if(a[i][j]>k)
            {k=a[i][j];
            kx=i;ky=j;}
        }
    }
    printf("%d %d",kx+1,ky+1);
    return 0;
}

C 解法, 执行用时: 1ms, 内存消耗: 348KB, 提交时间: 2021-08-31

#include<stdio.h>
int main()
{
    int a,b,t,max=0,x,y;
    scanf("%d %d",&a,&b);
    int arr[50][50]={0};
    for(int i=0;i<a;i++)
    {
        for(int j=0;j<b;j++)
        {
            scanf("%d",&arr[x][y]);
            if(arr[x][y]>max)
            {
                max=arr[x][y];
                x=i;
                y=j;
            }
        }
    }
    printf("%d %d\n",x+1,y+1);
    return 0;
}

C 解法, 执行用时: 1ms, 内存消耗: 364KB, 提交时间: 2021-05-10

#include<stdio.h>
int main(){
     int r,l,max=0;
     int n,m,h;
    scanf("%d%d",&n,&m);
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            scanf("%d",&h);
            if(max<h){
                max=h;
                r=i;
                l=j;
            }
        }
    }
    printf("%d %d\n",r,l);
    return 0;
}

上一题