Solución del problema de Pintia——7-21 Prueba suerte

7-21 Prueba suerte

Titulo original:

Sabemos que un dado tiene 6 caras, cada una con de 1 a 6 puntos grabados. A continuación se muestran los estados iniciales de los seis dados, es decir, las puntas de sus lados hacia arriba, lo que le permite agarrarlos y sacudirlos para producir otra serie de resultados. Supongamos que tiras los dados con mucha habilidad y el resultado de cada tirada cumple las dos condiciones siguientes:

  • 1. El número que sale de cada dado es diferente del número que apareció antes;
  • 2. Bajo la premisa de que se cumple la condición 1, cada dado puede obtener el máximo de puntos posibles cada vez.

Entonces deberías poder predecir el resultado que obtendrás por enésima vez (1≤ n ≤5).

Formato de entrada:

La primera línea de entrada da el número inicial de 6 dados, es decir, un número entero entre [1,6], y los números están separados por espacios; la segunda línea da el número de tiradas n (1≤ n ≤5 ) .

Formato de salida:

Enumera los puntos de cada dado lanzado por enésima vez en orden en una fila . Los números deben estar separados por 1 espacio y no debe haber espacios adicionales al principio de la línea.

Ideas para resolver problemas:

  1. Importe readlineel módulo y cree un objeto de interfaz: primero readlineintroduzca el módulo y use createInterfacemétodos para crear un objeto de interfaz rl. Este objeto establece el flujo de entrada en entrada estándar.
  2. Leer entrada y almacenar: al escuchar 'line'eventos, la entrada se almacena en una matriz buf.
  3. Analice la entrada y procese la secuencia de números: asigne bufel primer elemento de la matriz (es decir, la posición con índice 0) a una variable arr, sepárelo en una matriz de cadenas basadas en espacios y luego use mapel método para convertir cada una cadena en un número. bufAsigne el segundo elemento de la matriz a una variable ny conviértalo a un tipo entero.
  4. Inicialice la matriz de resultados: asigne una matriz de seis 6 a la variable rescomo resultado inicial.
  5. Actualice la matriz de resultados: recorra la secuencia de números de entrada arr. Si el elemento actual es igual al elemento de la matriz de resultados en la posición correspondiente, entonces disminuya el elemento en la posición correspondiente de la matriz de resultados en 1.
  6. Bucle para actualizar la matriz de resultados: use dos bucles anidados. El bucle externo va de 0 a n-1, el bucle interno atraviesa la matriz de resultados y disminuye cada elemento en 1, y luego verifica si el elemento en la posición correspondiente en la matriz de resultados corresponde a la secuencia numérica de entrada. Los elementos de son iguales. Si son iguales, el elemento en la posición correspondiente de la matriz de resultados se reduce en 1.
  7. Construya la cadena de salida: use una variable strcomo contenedor de la cadena de resultado, recorra la matriz de resultados resy concatene cada elemento separado por espacios str.
  8. Resultado de salida: utilícelo para console.loggenerar la cadena de resultado sin los espacios iniciales y finales.

.

Código JavaScript (nodo):

const readline = require('readline');
const rl = readline.createInterface({
    
    
    input: process.stdin
});
let buf = [];

rl.on('line', (input) => {
    
    
    buf.push(input);
});

rl.on('close', () => {
    
    
    let arr = buf[0].split(" ").map(Number)
    let n = parseInt(buf[1])
    const res = [6, 6, 6, 6, 6, 6]

    for (let i = 0; i < arr.length; i++) {
    
    
        if (arr[i] == res[i]) {
    
    
            res[i]--
        }
    }
    for (let i = 0; i < n - 1; i++) {
    
    
        for (let j = 0; j < arr.length; j++) {
    
    
            res[j]--
            if (res[j] == arr[j]) {
    
    
                res[j]--
            }
        }
    }

   let str = ""
    for (let i of res) {
    
    
        str += i + " "
    }
    console.log(str.trim());
  
});

.

Análisis de complejidad:

Complejidad del tiempo: O (n)
Complejidad espacial: O (n)

Supongo que te gusta

Origin blog.csdn.net/Mredust/article/details/133519692
Recomendado
Clasificación