Copa Blue Bridge: práctica (análisis de preguntas)

tema

[Descripción del problema]
   Xiaoming practica qigong todos los días, y el elemento más importante en la práctica de qigong es la pila de flores de ciruelo.
   Las pilas de flores de ciruelo de Xiao Ming están dispuestas en n filas y m columnas. La distancia entre dos filas adyacentes es 1 y la distancia entre dos columnas adyacentes también es 1.
   Xiaoming está de pie en la primera fila y la primera columna, y quiere ir a la enésima fila y a la mésima columna. Xiao Ming ha estado practicando durante un tiempo y ahora puede moverse una distancia de no más de d (distancia en línea recta) en un solo paso.
   Xiao Ming quería saber cuántos pasos necesitaría para moverse hacia el objetivo sin caerse del montón de flores de ciruelo.
[Formato de entrada]
   La primera línea de entrada contiene dos números enteros n, m, que representan el número de filas y columnas de la pila de flores de ciruelo.
   La segunda línea contiene un número real d (contiene un decimal como máximo), que indica la distancia que Xiao Ming puede moverse en un paso.
[Formato de salida]
   Genera un número entero, que indica cuántos pasos Xiao Ming puede alcanzar al menos la meta.
[Entrada de muestra]
3 4
1.5
[Salida de muestra]
   3
[Escala de casos de uso de evaluación y convenciones]
   Para el 30% de los casos de uso de evaluación, 2 <= n, m <= 20, 1 <= d <= 20.
   Para el 60% de los casos de uso de evaluación, 2 <= n, m <= 100, 1 <= d <= 100.
   Para todos los casos de evaluación, 2 <= n, m <= 1000, 1 <= d <= 100.

Código

import java.util.Scanner;

public class Main {
    
    //蓝桥杯要求class命名为Main,且无package
    public static void main(String[] args) {
    
    
        Scanner scanner = new Scanner(System.in);
        int n=scanner.nextInt();
        int m=scanner.nextInt();
        float d = scanner.nextFloat();
        float distance = (float)Math.sqrt(((n-1)*(n-1)+(m-1)*(m-1)));//计算距离
        int step = (int) Math.ceil(distance/d);//向上取整
        System.out.println(step);
    }
}


Análisis del problema

   De acuerdo con la entrada y salida de estilo de la pregunta, se puede calcular que la distancia calculada es la distancia más corta entre dos puntos, como n = 3, m = 4, y la distancia de distancia es aproximadamente 3.6, no 5.

Supongo que te gusta

Origin blog.csdn.net/qq_47168235/article/details/108917774
Recomendado
Clasificación