2017 8a Competencia Provincial de la Copa Blue Bridge del Grupo A de Java Preguntas Reales

Aquí está la columna de temas de la Blue Bridge Cup a lo largo de los años. Se actualizará y publicará las preguntas y respuestas reales de años anteriores. Bienvenidos amigos para que me presten atención. ¡Sus gustos y atención son la mejor motivación para mí! ! !
Actualiza una pregunta real todos los días, así que estad atentos

Artículos anteriores de la Copa Lanqiao y respuestas detalladas


Pregunta 1: Laberinto

Descripción del Título

Un laberinto de juegos en el Planeta X está construido en una pequeña ladera.
Se compone de 10x10 pequeñas habitaciones comunicadas.
Hay una gran carta escrita en el suelo de la habitación.
Suponemos que el jugador está de pie mirando hacia arriba, entonces:
L significa ir a la habitación de la izquierda,
R significa ir a la habitación de la derecha,
U significa ir a la habitación en la dirección cuesta arriba,
D significa ir a la habitación de la dirección cuesta abajo.
Los habitantes del Planeta X son un poco vagos y no quieren pensar mucho.
Prefieren jugar a juegos de suerte. ¡Lo mismo es cierto para este juego!

Al principio, el helicóptero colocó a 100 jugadores en salas pequeñas.
El jugador debe moverse de acuerdo con las letras en el suelo.

El mapa del laberinto es el siguiente:

UDDLUULRUL
UURLLLRRRU
RRUURLDLRD
RUDDDDUUUU
URUDLLRRUU
DURLRLDLRL
ULLURLLRDU
RDLULLRDDD
UUDDUDUDLL
ULRDLUURRR


Calcule, al final, cuántos jugadores saldrán del laberinto, en lugar de dar vueltas en círculos.

Envíe el número completo para indicar la cantidad de jugadores que salieron del laberinto. No complete ningún contenido adicional.

Si no comprende las reglas del juego, puede consultar una ilustración simplificada del laberinto 4x4:
p1.png
Inserte la descripción de la imagen aquí

Códigos de temas de análisis de
temas



La segunda pregunta: fórmula de 9 números

Descripción del título
Observe la siguiente fórmula:

9213 x 85674 = 789314562

El multiplicador y el multiplicando de la izquierda solo usan todos los números del 1 al 9, cada vez.
Y el producto usa todos los números del 1 al 9, y cada vez es 1 vez.

Utilice la potente potencia informática de su computadora para averiguar cuántas fórmulas de 9 números cumplen los requisitos anteriores.

Nota:

  1. El número total incluye el ejemplo dado en el título.
  2. El multiplicador y el multiplicando se intercambian como el mismo plan. Códigos de temas de
    análisis de
    temas


Pregunta 3: Estado del cubo de Rubik

Descripción del título El
cubo de Rubik de segundo orden es un cubo de Rubik con solo 2 capas, que consta de solo 8 piezas pequeñas.
Como se muestra en la figura p1.png.

Xiao Ming es muy travieso. Solo le gustan los 3 colores, por lo que volvió a pintar el cubo de Rubik de segundo orden en casa, de la siguiente manera:

Anverso: Naranja
Derecha: Verde
Superior: Amarillo
Izquierda: Verde
Abajo: Naranja
Reverso: Amarillo

Calcule cuántos estados diferentes hay después de que un cubo de Rubik se interrumpa.

Si los dos estados después de la rotación general del cubo de Rubik, los colores de todos los lados son iguales, se considera el mismo estado.

Envíe un número entero que represente el número de estados y no complete ningún contenido redundante o texto explicativo.
Inserte la descripción de la imagen aquí

Códigos de temas de análisis de
temas



Cuarta pregunta: división de la cuadrícula

El título describe una
cuadrícula de 6x6, cortada en dos partes a lo largo del borde de la cuadrícula.
Se requiere que las formas de las dos partes sean exactamente iguales.

Como se muestra en la figura: p1.png, p2.png, p3.png son métodos de segmentación factibles.

Trate de calcular:
Incluyendo estos tres métodos de división, ¿cuántos métodos de división diferentes hay en total?
Nota: La simetría rotacional pertenece al mismo método de división.

Por favor envíe el número completo, no complete ningún contenido adicional o texto explicativo.
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

Códigos de temas de análisis de
temas



Pregunta 5: Cadena de letras

Descripción del título
Las tres letras A, B y C pueden formar muchas cadenas.
Por ejemplo: "A", "AB", "ABC", "ABA", "AACBB" ...

Ahora, Xiao Ming está pensando en una pregunta:
si el número de cada letra es limitado, ¿cuántas cadenas de longitud conocida se pueden formar?

Le pidió ayuda a un buen amigo y rápidamente obtuvo el código. La
solución fue muy simple, pero la parte más importante no estaba clara.

Analice cuidadosamente el código fuente y complete el contenido que falta en la parte subrayada.

public class A
{
    
    
    // a个A,b个B,c个C 字母,能组成多少个不同的长度为n的串。
    static int f(int a, int b, int c, int n)
    {
    
    
        if(a<0 || b<0 || c<0) return 0;
        if(n==0) return 1; 
        
        return ________________________________;  //填空
    }
    
    public static void main(String[] args)
    {
    
    
        System.out.println(f(1,1,1,2));
        System.out.println(f(1,2,3,3));
    }
}

Para los datos de prueba anteriores, el resultado del cálculo oral de Xiaoming debe ser:
6
19

Nota: Solo complete los códigos que faltan en la parte subrayada y no envíe ningún contenido redundante o texto explicativo. Códigos de temas de
análisis de
temas



Pregunta 6: La subcadena común más grande

Descripción del título El problema de la
longitud máxima de la subcadena común es: cuál
es la longitud máxima que puede coincidir entre todas las subcadenas de dos cadenas.

Por ejemplo: "abcdkkk" y "baabcdadabc",
la subcadena común más larga que se puede encontrar es "abcd", por lo que la longitud máxima de la subcadena común es 4.

El siguiente programa se resuelve mediante el método matricial, que es una solución relativamente eficaz para el caso en que el tamaño de la cadena no sea grande.

Analice la idea de la solución y complete el código que falta en la parte subrayada.

public class Main
{
    
    
    static int f(String s1, String s2)
    {
    
    
        char[] c1 = s1.toCharArray();
        char[] c2 = s2.toCharArray();
        
        int[][] a = new int[c1.length+1][c2.length+1];
        
        int max = 0;
        for(int i=1; i<a.length; i++){
    
    
            for(int j=1; j<a[i].length; j++){
    
    
                if(c1[i-1]==c2[j-1]) {
    
    
                    a[i][j] = __________________;  //填空 
                    if(a[i][j] > max) max = a[i][j];
                }
            }
        }
        
        return max;
    }
    
    public static void main(String[] args){
    
    
        int n = f("abcdkkk", "baabcdadabc");
        System.out.println(n);
    }
}

Nota: Envíe únicamente los códigos que faltan, no envíe los códigos y símbolos existentes. No envíe texto explicativo. Códigos de temas de
análisis de
temas



Séptima pregunta: problemas habituales

Descripción del título
Considere una expresión regular simple: una expresión regular que
consta solo de x () |.
Xiao Ming quiere encontrar la longitud de la cadena más larga que puede aceptar esta expresión regular.

Por ejemplo, ((xx | xxx) x | (x | xx)) xx puede aceptar la cadena de caracteres más larga: xxxxxx, la longitud es 6.

entrar

Una expresión regular que consta de x () |. La longitud de entrada no supera los 100 y es legal.

Salida

La longitud de la cadena más larga que puede aceptar esta expresión regular.

Por ejemplo,
ingrese:
((xx | xxx) x | (x | xx)) xx

El programa debería generar:
6

Acuerdo de recursos:
consumo máximo de memoria (incluidas las máquinas virtuales) <256
M consumo de CPU <1000 ms

Imprima estrictamente de acuerdo con los requisitos, y no imprima superfluamente el contenido adicional como: "Por favor ingrese ...".

Todos los códigos se colocan en el mismo archivo fuente. Después de pasar la depuración, copie y envíe el código fuente.
No utilice la declaración del paquete. No utilice las funciones de jdk1.7 y superior.
El nombre de la clase principal debe ser: Main, de lo contrario se tratará como un código no válido. Códigos de temas de
análisis de
temas



Pregunta 8: Los bollos forman el número

Descripción del título
Xiao Ming desayuna en una tienda de bollería casi todas las mañanas. Descubrió que este bollo al vapor se compraba con N tipos de vapores, de los cuales el i-ésimo vaporizador podía contener bollos Ai. Cada tipo de vaporera tiene muchas cestas, que pueden considerarse cestas infinitas.

Siempre que un cliente quiera comprar X bollos al vapor, el tío que vende bollos al vapor seleccionará rápidamente varios bollos al vapor, de modo que haya exactamente X bollos al vapor en estas varias jaulas. Por ejemplo, hay 3 tipos de vapores, que pueden contener 3, 4 y 5 bollos. Cuando un cliente quiere comprar 11 bollos, el tío elegirá 2 jaulas de 3 más 1 jaula de 5 (o tal vez 1 jaula de 3 más 2 jaulas de 4).

Por supuesto, a veces el tío Baozi no puede recuperar la cantidad que el cliente quiere comprar. Por ejemplo, hay 3 tipos de vapores, que pueden contener 4, 5 y 6 bollos. Cuando el cliente quiso comprar 7 bollos, el tío no pudo hacerlo.

Xiao Ming quería saber cuántos tipos de números no podía inventar el tío Bao.

entrar

La primera línea contiene un número entero N. (1 <= N <= 100)
Cada una de las siguientes N líneas contiene un entero Ai. (1 <= Ai <= 100)

Salida

Un número entero representa la respuesta. Si el número que no se puede inventar es infinito, envíe INF.

Por ejemplo,
ingrese:
2
4
5

El programa debería generar:
6

Para otro ejemplo,
ingrese:
2
4
6

El programa debería generar:
INF

Explicación de muestra:
para la muestra 1, los números sin terminar incluyen: 1, 2, 3, 6, 7, 11.
Por ejemplo 2, no se pueden inventar todos los números impares, por lo que hay infinitos.

Acuerdo de recursos:
consumo máximo de memoria (incluidas las máquinas virtuales) <256
M consumo de CPU <1000 ms

Imprima estrictamente de acuerdo con los requisitos, y no imprima superfluamente el contenido adicional como: "Por favor ingrese ...".

Todos los códigos se colocan en el mismo archivo fuente. Después de pasar la depuración, copie y envíe el código fuente.
No utilice la declaración del paquete. No utilice las funciones de jdk1.7 y superior.
El nombre de la clase principal debe ser: Main, de lo contrario se tratará como un código no válido.
Al enviar el programa, preste atención a seleccionar el tipo de lenguaje y el tipo de compilador deseados. Códigos de temas de
análisis de
temas



Pregunta 9: Divida el chocolate

Descripción del tema El
Día del Niño, los niños K visitaron la casa de Xiao Ming. Xiao Ming sacó una colección de chocolates para entretener a los niños.
Xiao Ming tiene N piezas de chocolate en total, de las cuales la i-ésima pieza es un rectángulo compuesto por cuadrados Hi x Wi.

为了公平起见,小明需要从这 N 块巧克力中切出K块巧克力分给小朋友们。切出的巧克力需要满足:

1. 形状是正方形,边长是整数  
2. 大小相同  

Por ejemplo, una pieza de chocolate de 6x5 se puede cortar en 6 piezas de chocolate 2x2 o 2 piezas de chocolate 3x3.

Por supuesto, todos los niños esperan que el chocolate que obtengan sea lo más grande posible. ¿Puedes ayudar a Little Hi a calcular la longitud máxima de los lados?

Entrada La
primera línea contiene dos números enteros N y K. (1 <= N, K <= 100000)
Cada una de las siguientes N líneas contiene dos números enteros Hi y Wi. (1 <= Hola, Wi <= 100000)
Ingrese para asegurarse de que cada niño pueda obtener al menos un chocolate 1x1.

Salida
Imprima la longitud lateral máxima posible del chocolate cuadrado cortado.

Entrada de muestra:
2 10
6 5
5 6

Salida de muestra:
2

Acuerdo de recursos:
consumo máximo de memoria (incluidas las máquinas virtuales) <256
M consumo de CPU <1000 ms

Imprima estrictamente de acuerdo con los requisitos, y no imprima superfluamente el contenido adicional como: "Por favor ingrese ...".

Todos los códigos se colocan en el mismo archivo fuente. Después de pasar la depuración, copie y envíe el código fuente.
No utilice la declaración del paquete. No utilice las funciones de jdk1.7 y superior.
El nombre de la clase principal debe ser: Main, de lo contrario se tratará como un código no válido. Códigos de temas de
análisis de
temas



Pregunta 10: Área de pintura

El título describe que
un grupo de robots arqueológicos en el Planeta X están haciendo arqueología en una ruina.
El suelo de esta zona es duro como una roca y plano como un espejo.
El personal de administración ha establecido un sistema de coordenadas rectangular estándar para mayor comodidad.

Cada robot tiene sus propias especialidades y habilidades únicas. También están interesados ​​en diferentes contenidos.
Después de varias mediciones, cada robot reportará una o más áreas rectangulares como áreas arqueológicas prioritarias.

El formato del rectángulo es (x1, y1, x2, y2), que representa las coordenadas de los dos puntos diagonales del rectángulo.

Para llamar la atención, la sede solicitó que todas las áreas rectangulares seleccionadas por los robots fueran pintadas con pintura amarilla.
Xiao Ming no necesita ser pintor, pero necesita calcular cuánta pintura se consumirá.

De hecho, esto no es difícil, siempre que se calcule el área total cubierta por todos los rectángulos.
Tenga en cuenta que los rectángulos pueden superponerse.

La entrada de esta pregunta son varios rectángulos, y se requiere que se genere el área total cubierta por ellos.

Formato de entrada: la
primera línea, un número entero n, indica cuántos rectángulos (1 <= n <10000) hay en las
siguientes n líneas, cada línea tiene 4 enteros x1 y1 x2 y2, separados por espacios, indicando dos pares de rectángulos Las coordenadas del vértice de la esquina.
(0 <= x1, y1, x2, y2 <= 10000)

Formato de salida:
un número entero por línea, que representa el área total cubierta por el rectángulo.

Por ejemplo,
ingrese:
3
1 5 10 10
3 1 20 20
2 7 15 17

El programa debería generar:
340

Para otro ejemplo,
ingrese:
3
5 2 10 6
2 7 12 10
8 1 15 15

El programa debería generar:
128

Acuerdo de recursos:
consumo máximo de memoria (incluidas las máquinas virtuales) <256
M consumo de CPU <2000 ms

Imprima estrictamente de acuerdo con los requisitos, y no imprima superfluamente el contenido adicional como: "Por favor ingrese ...".

Todos los códigos se colocan en el mismo archivo fuente. Después de pasar la depuración, copie y envíe el código fuente.
No utilice la declaración del paquete. No utilice las funciones de jdk1.7 y superior.
El nombre de la clase principal debe ser: Main, de lo contrario se tratará como un código no válido. Códigos de temas de
análisis de
temas



Supongo que te gusta

Origin blog.csdn.net/kiwi_berrys/article/details/111834686
Recomendado
Clasificación