1098 Construcción de cuevas (JAVA)

¿Es incluso posible colocar una tubería larga con un diámetro de al menos 1 unidad horizontalmente en una cueva con terreno complejo? Las dos figuras a continuación muestran una sección de la cueva, con polilíneas de color azul oscuro que delimitan la parte superior e inferior de la cueva. La figura 1 es posible, la parte verde muestra que se puede alimentar una tubería de diámetro 1. La figura 2 no es posible a menos que las protuberancias superior o inferior se eliminen 1 unidad de altura.

En esta pregunta, se le pide que escriba un programa para determinar si la construcción es posible en una cueva determinada.

Formato de entrada:

La entrada da un número entero positivo N hasta 100 en la primera línea, el número de puntos para muestrear horizontalmente. Las siguientes dos filas de datos, de izquierda a derecha, dan las ordenadas de los puntos de muestreo: la primera fila es el punto de muestreo en la parte superior de la cueva y la segunda fila es el punto de muestreo en el fondo de la cueva. Se asume aquí que el origen de las coordenadas está en la esquina inferior izquierda, y cada ordenada es un número entero no negativo que no excede 1000. Los números en la misma fila están separados por espacios.

El problema garantiza que los datos de entrada sean razonables, es decir, la línea de contorno en el fondo de la cueva no se cruza con la línea de contorno en la parte superior.

Formato de salida:

Si es posible la construcción directa, la salida Yesy ; si no, la salida Noy al menos la altura que se debe cortar. Separe la respuesta y el número con 1 espacio.

Ejemplo de entrada 1:

11
7 6 5 5 6 5 4 5 5 4 4
3 2 2 2 2 3 3 2 1 2 3

Salida de muestra 1:

Yes 1

Ejemplo de entrada 2:

11
7 6 5 5 6 5 4 5 5 4 4
3 2 2 2 3 4 3 2 1 2 3

Salida de muestra 2:

No 1

Código:

import java.io.*;

/**
 * @author yx
 * @date 2022-07-27 16:08
 */
public class Main {
    static PrintWriter out=new PrintWriter(System.out);
    static BufferedReader ins=new BufferedReader(new InputStreamReader(System.in));
    static StreamTokenizer in=new StreamTokenizer(ins);

    public static void main(String[] args) throws IOException {
        in.nextToken();
        int N=(int) in.nval;
        int max=0;
        int min=1000000000;
        for (int i = 0; i < N; i++) {
            in.nextToken();
            int temp=(int) in.nval;
            if(temp < min){
                min=temp;
            }
        }
        for (int i = 0; i < N; i++) {
            in.nextToken();
            int temp=(int) in.nval;
            if(temp > max){
                max=temp;
            }
        }
        if(min>max){
            System.out.println("Yes "+(min-max));
        }else {
            System.out.println("No "+(max-min+1));
        }
    }
}

 

 

Supongo que te gusta

Origin blog.csdn.net/m0_55858611/article/details/126295459
Recomendado
Clasificación