Entrada de modo acm de pregunta de algoritmo JsNode

js se divide en métodos de entrada y salida jsNode y JsV8, el código de ejecución general sigue siendo el mismo

Niuke es compatible con ambos

La mayoría de los temas de Huawei solo admiten jsNode

Este artículo presenta principalmente la entrada de jsNode


JsNode

En primer lugar, se ingresa línea por línea, que es similar a py. Debe ingresarse línea por línea, recibirse por línea de cadena (también puede cambiar el nombre) y dividirse por línea.

Las primeras líneas de código en jsNode son plantillas de código muy problemáticas. No conozco la función específica. Lo siguiente es lo que simplifiqué lo más posible. Puede cambiarlo según su propia situación.

1. Entrada de una sola variable de una sola línea

Por ejemplo: 123

Por ejemplo: abc

let cin = require('readline')
const RL = cin.createInterface({
    input: process.stdin,
    output: process.stdout
})
RL.on('line', line => {
    console.log(line)        //要是想转化为整数可以(+line)
})

Dos entradas multivariables de una sola línea

Por ejemplo: 123 435

Por ejemplo: abcx asd asd

Por ejemplo: asd, asd, erer

let cin = require('readline')
const RL = cin.createInterface({
    input: process.stdin,
    output: process.stdout
})
let str=""
RL.on('line', line => {
    str=line.split(' ')
    let len=str.length;
    for(let i=0;i<len;i++){
        console.log(str[i])
    }
})

Tres entradas multivariables multilínea

Por ejemplo:

2
123 234
bca asd

El número 2 en la primera línea significa que hay 2 líneas más en la siguiente entrada

let cin = require('readline')
const RL = cin.createInterface({
    input: process.stdin,
    output: process.stdout
})
let T = 1        //进入RL函数的次数
let str=""
RL.on('line', line => {
    str=line.split(' ')
    if(T==1){        //第一次进的时候,str[0]就是接下来输入的行数
        n=+str[0] 
        mp=new Array(n)       //开一个大小为n的数组
    }else{
        mp[T-2]=str        //接下来每输入一行,T会+1,根据T来判断输入是第几行的数据
        if(T==n+1){                //要是T=n+1了(自己计算出的),表示是最后一行输入
        //这时要进行算法代码运行,因为全部数据输入完了
            for(let i=0;i<n;i++)
                console.log(mp[i])
        }
    }
    T++
})

Se puede ver en el código que la entrada de sjNode, la función RL debe ingresarse continuamente, y la línea es la entrada de una línea cada vez que se ingresa.

Por lo tanto, una variable global como T se usa para registrar el número de entradas y los datos se almacenan al juzgar T.

Esta plantilla de entrada también se considera la más completa y se recomienda usarla incluso si se trata de una sola línea.

Supongo que te gusta

Origin blog.csdn.net/m0_58177653/article/details/130254730
Recomendado
Clasificación