列表

详情


NC54157. 最高身高

描述

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

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

Java 解法, 执行用时: 44ms, 内存消耗: 10852K, 提交时间: 2023-08-11 10:25:21

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in= new Scanner(System.in);
        int n=in.nextInt();
        int m=in.nextInt();
        int x=0,y=0,max= 0;
        for(int i=0;i<n*m;i++){
            int temp=in.nextInt();
            if(max<temp){
                max=temp;
                y=i%m+1;
                x=(i+1-y)/m+1;
            }
        }
        System.out.println(x + " " + y);
    }
}

Go 解法, 执行用时: 3ms, 内存消耗: 912K, 提交时间: 2023-08-11 10:24:50

package main

import "fmt"

func main() {
	var (
		n, m, i, j, a, x, y, t int
	)
	fmt.Scan(&n, &m)
	for i = 0; i < n; i++ {
		for j = 0; j < m; j++ {
			fmt.Scan(&a)
			if (a > t) {
				t = a
				x = i
				y = j
			}
		}
	}
	x++
	y++
	fmt.Printf("%d %d", x, y)
}

Python3 解法, 执行用时: 42ms, 内存消耗: 4584K, 提交时间: 2023-08-11 10:23:36

n, m = map(int, input().split())
ans = '0 0'
_max = -2**32
for i in range(n):
    arr = [int(v) for v in input().split()]
    for j in range(m):
        if arr[j] > _max:
            _max = arr[j]
            ans = f'{i+1} {j+1}'
print(ans)

PHP 解法, 执行用时: 9ms, 内存消耗: 2976K, 提交时间: 2023-08-11 10:20:44

<?php

$input = explode(' ', fgets(STDIN));
$n = intval($input[0]);
$m = intval($input[1]);

$max = -2**32;
$ans = '0 0';
for ( $i = 1; $i < $n+1; $i++ ) {
    $arr = explode(' ', fgets(STDIN));
    for ( $j = 1; $j < $m+1; $j++ ) {
        if ( intval($arr[$j-1]) > $max ) {
            $ans = "{$i} {$j}";
            $max = intval($arr[$j-1]);
        }
    }
}

echo $ans;
// todo

上一题