Introducción a la redacción de preguntas de Luogu: estructura secuencial

El enlace es el siguiente: https://www.luogu.com.cn/training/100#problems


1. ¡Hola mundo!

Enlace de pregunta: https://www.luogu.com.cn/problem/B2002

Descripción de la pregunta

Escriba un Hello,World!programa que pueda generar .

pista:

  • Utilice signos de puntuación en inglés;
  • Hello,World!No hay espacio después de la coma .
  • Hy Wson letras mayúsculas .

Formato de entrada

Formato de salida

Ejemplo 1

Entrada de muestra n.° 1

Salida de muestra n.° 1

Hello,World!

código (pitón)

print("Hello,World!")

2. Carácter de salida en forma de diamante.

Enlace de pregunta: https://www.luogu.com.cn/problem/B2025

Descripción de la pregunta

Úselo para *construir una diagonal de longitud 5 55 caracteres, un rombo colocado de forma oblicua.

Formato de entrada

No se requiere entrada.

Formato de salida

Como se muestra en la muestra. Un rombo formado a partir de *.

Ejemplo 1

Entrada de muestra n.° 1


Salida de muestra n.° 1

*
 ***
*****
 ***
  *

código (pitón)


print("  *")
print(" ***")
print("*****")
print(" ***")
print("  *")

3. Juego de Súper Mario

Enlace de pregunta: https://www.luogu.com.cn/problem/P1000

Antecedentes de la pregunta

Esta pregunta es una pregunta de prueba para Luogu, que puede ayudarlo a comprender el uso de Luogu.

Se recomienda continuar probando P1001 y P1008 después de completar esta pregunta .

Además, es muy recomendable que los nuevos usuarios lean esta publicación.

Descripción de la pregunta

Super Mario es un juego muy clásico. Por favor, genera una escena de Super Mario en forma de dibujo de personaje.

                ********
               ************
               ####....#.
             #..###.....##....
             ###.......######              ###            ###
                ...........               #...#          #...#
               ##*#######                 #.#.#          #.#.#
            ####*******######             #.#.#          #.#.#
           ...#***.****.*###....          #...#          #...#
           ....**********##.....           ###            ###
           ....****    *****....
             ####        ####
           ######        ######
##############################################################
#...#......#.##...#......#.##...#......#.##------------------#
###########################################------------------#
#..#....#....##..#....#....##..#....#....#####################
##########################################    #----------#
#.....#......##.....#......##.....#......#    #----------#
##########################################    #----------#
#.#..#....#..##.#..#....#..##.#..#....#..#    #----------#
##########################################    ############

Formato de entrada

ninguno

Formato de salida

como se describe

pista

anunciar

El libro de texto de algoritmos elaborado por Luogu le ayuda a aprender algoritmos básicos más fácilmente. 【¡La tienda online oficial ya está a la venta! 】>>>

código (pitón)



print("                ********");
print("               ************");
print("               ####....#.");
print("             #..###.....##....");
print("             ###.......######              ###            ###");
print("                ...........               #...#          #...#");
print("               ##*#######                 #.#.#          #.#.#");
print("            ####*******######             #.#.#          #.#.#");
print("           ...#***.****.*###....          #...#          #...#");
print("           ....**********##.....           ###            ###");
print("           ....****    *****....");
print("             ####        ####");
print("           ######        ######");
print("##############################################################");
print("#...#......#.##...#......#.##...#......#.##------------------#");
print("###########################################------------------#");
print("#..#....#....##..#....#....##..#....#....#####################");
print("##########################################    #----------#");
print("#.....#......##.....#......##.....#......#    #----------#");
print("##########################################    #----------#");
print("#.#..#....#..##.#..#....#..##.#..#....#..#    #----------#");
print("##########################################    ############");

4. Problema A+B

Enlace de pregunta: https://www.luogu.com.cn/problem/P1001

Antecedentes de la pregunta

Altamente recomendado para nuevos usuarios leer esta publicación .

Para los concursantes que no estén familiarizados con las competiciones de algoritmos, lea aquí:

No debe haber contenido redundante en el formato de salida requerido en la competencia de algoritmos , que también incluye "Ingrese el número entero a \bm aab \bm bb "Este tipo de contenido solicita al usuario que ingrese información. Si se incluye este contenido, se considerará comoWrong AnswerLuoguWA. Al comparar la salida del código y la salida estándar, el sistema ignorará los espacios al final de cada línea, y Nuevas líneas extrañas después de la última línea.

Si la máquina (parece) enviar debido a tal problema AC, WAno piense que hay un problema con la máquina de evaluación Luogu, sino que puede haber información de salida redundante en su código. Los usuarios pueden consultar el código proporcionado al final de la pregunta.

Además , haga un buen uso de la función IDE en línea en la aplicación para evitar algunos problemas causados ​​por la evaluación en diferentes plataformas.

Otro punto importante es que no publique su propia solución en el área de discusión de preguntas correspondiente, publíquela en el área de soluciones, de lo contrario será castigado con la eliminación o la prohibición. Si se descubre que no se puede enviar la solución, significa que hay demasiadas soluciones al problema y la discusión aún no debe publicarse.

Descripción de la pregunta

Introduzca dos números enteros a, ba, bun ,b , genera su suma (∣ a ∣ , ∣ b ∣ ≤ 10 9 |a|,|b| \le {10}^9un ,segundo 109)。

Aviso

  1. ¡ Pascal integerexplotará si se usa!
  2. ¡Hay números negativos!
  3. La función principal de C/C++ debe ser intde tipo, y C last return 0. ¡Esto no solo es válido para otras preguntas de Luogu, sino también un requisito para las competencias NOIP/CSP/NOI!

Bien, camaradas, partamos de esta pregunta y avancemos hacia el camino de la grandeza.

Toda gran idea tiene un comienzo humilde.

Formato de entrada

Dos números enteros separados por espacios.

Formato de salida

un número entero.

Ejemplo 1

Entrada de muestra n.° 1

20 30

Salida de muestra n.° 1

50

pista

anunciar

El libro de texto de algoritmos elaborado por Luogu le ayuda a aprender algoritmos básicos más fácilmente. 【¡La tienda online oficial ya está a la venta! 】>>>

Ejemplos de programas en varios idiomas para esta pregunta:

C

#include <stdio.h>

int main()
{
    
    
    int a,b;
    scanf("%d%d",&a,&b);
    printf("%d\n", a+b);
    return 0;
}

C++

#include <iostream>
#include <cstdio>

using namespace std;

int main()
{
    
    
    int a,b;
    cin >> a >> b;
    cout << a+b << endl;
    return 0;
}

Pascal

var a, b: longint;
begin
    readln(a,b);
    writeln(a+b);
end.

Python2

s = raw_input().split()
print int(s[0]) + int(s[1])

Python3

s = input().split()
print(int(s[0]) + int(s[1]))

Java

import java.io.*;
import java.util.*;
public class Main {
    
    
    public static void main(String args[]) throws Exception {
    
    
        Scanner cin=new Scanner(System.in);
        int a = cin.nextInt(), b = cin.nextInt();
        System.out.println(a+b);
    }
}

JavaScript (Nodo.js)

const fs = require('fs')
const data = fs.readFileSync('/dev/stdin')
const result = data.toString('ascii').trim().split(' ').map(x => parseInt(x)).reduce((a, b) => a + b, 0)
console.log(result)
process.exit() // 请注意必须在出口点处加入此行

Rubí

a, b = gets.split.map(&:to_i)
print a+b

PHP

<?php
$input = trim(file_get_contents("php://stdin"));
list($a, $b) = explode(' ', $input);
echo $a + $b;

Óxido

use std::io;

fn main(){
    
    
    let mut input=String::new();
    io::stdin().read_line(&mut input).unwrap();
    let mut s=input.trim().split(' ');

    let a:i32=s.next().unwrap()
               .parse().unwrap();
    let b:i32=s.next().unwrap()
               .parse().unwrap();
    println!("{}",a+b);
}

Ir

package main

import "fmt"

func main() {
    
    
    var a, b int
    fmt.Scanf("%d%d", &a, &b)
    fmt.Println(a+b)
}

C#Mono

using System;

public class APlusB{
    
    
    private static void Main(){
    
    
        string[] input = Console.ReadLine().Split(' ');
        Console.WriteLine(int.Parse(input[0]) + int.Parse(input[1]));
    }
}

Visual Basic Mono

Imports System

Module APlusB
    Sub Main()
        Dim ins As String() = Console.ReadLine().Split(New Char(){" "c})
        Console.WriteLine(Int(ins(0))+Int(ins(1)))
    End Sub
End Module

Kotlin

fun main(args: Array<String>) {
    
    
    val (a, b) = readLine()!!.split(' ').map(String::toInt)
    println(a + b)
}

Haskell

main = do
    [a, b] <- (map read . words) `fmap` getLine
    print (a+b)

escala

object Main extends App {
    
    
    println(scala.io.StdIn.readLine().split(" ").map(_.toInt).sum)
}

perla

my $in = <STDIN>;
chomp $in;
$in = [split /[\s,]+/, $in];
my $c = $in->[0] + $in->[1];
print "$c\n";

5. Triángulo de personajes

Enlace de pregunta: https://www.luogu.com.cn/problem/B2005

Descripción de la pregunta

Dado un carácter, úsalo para construir una longitud base 5 55 caracteres, altura3 3Triángulo de caracteres isósceles de 3 caracteres.

Formato de entrada

La entrada es solo una línea y contiene un carácter.

Formato de salida

El triángulo isósceles formado por este personaje tiene una longitud de base de 5 55 caracteres, altura3 33 personajes.

Ejemplo 1

Entrada de muestra n.° 1

*

Salida de muestra n.° 1

*
 ***
*****

pista

Para 100 % 100 \%El 100% de los datos, los caracteres ingresados ​​son caracteres visibles en ASCII.

código (pitón)

a = input()
print("  "+a)
print(" "+a+a+a)
print(a+a+a+a+a)

6. [Shenji 2. Ejemplo 5] Adquisición de Apple

Enlace de pregunta: https://www.luogu.com.cn/problem/P5703

Descripción de la pregunta

Ahora necesitamos comprar algunas manzanas. A cada estudiante se le puede asignar una cantidad fija de manzanas, y ya sabemos la cantidad de estudiantes. ¿Cuántas manzanas necesitamos comprar?

Formato de entrada

Ingrese dos palabras no más de 1 0 9 10^91 09 números enteros positivos, que representan respectivamente el número de cada persona y el número de compañeros.

Formato de salida

Un número entero que representa la respuesta. Se garantiza que tanto la entrada como la respuesta serán números enteros no negativos en el rango de int.

Ejemplo 1

Entrada de muestra n.° 1

5 3

Salida de muestra n.° 1

15

código (pitón)

a,b = map(int,input().split(" "))
print(a*b)

7. [Básico profundo 2. Ejemplo 6] Conversión de letras

Enlace de pregunta: https://www.luogu.com.cn/problem/P5704

Descripción de la pregunta

Ingrese una letra minúscula y genere su letra mayúscula correspondiente. Por ejemplo, cuando se ingresa q[Enter], se generará Q.

Formato de entrada

Formato de salida

Ejemplo 1

Entrada de muestra n.° 1

q

Salida de muestra n.° 1

Q

código (pitón)

print(input().upper())

8. [Base profunda 2. Ejemplo 7] Inversión de números

Enlace de pregunta: https://www.luogu.com.cn/problem/P5705

Descripción de la pregunta

Introduzca un valor no inferior a 100 100100 y menos de1000 10001000 , un número de coma flotante que incluye un decimal, por ejemplo123,4 123,4123,4 , lo que requiere invertir este número para convertirlo en4,321 4,3214.321 y salida.

Formato de entrada

Un número de punto flotante por línea

Formato de salida

Un número de punto flotante por línea

Ejemplo 1

Entrada de muestra n.° 1

123.4

Salida de muestra n.° 1

4.321

código (pitón)

a = input()

print(float(a[::-1]))

9. [Fundación profunda 2. Ejemplo 8] Divida el agua de la casa gorda nuevamente

Enlace de pregunta: https://www.luogu.com.cn/problem/P5706

Descripción de la pregunta

Ahora hay tttml de Fat House Happy Water deben distribuirse equitativamente entrennn compañeros de clase. Cada estudiante necesita2 22 tazas. Ahora quiero saber cuántos mililitros de bebida puede tomar cada estudiante (estrictamente con una precisión de3 33 personas), y cuántas tazas se necesitan en total.

Formato de entrada

Introduce un número real ttt y un entero positivonnn , separados por espacios.

Formato de salida

Genera dos líneas.

La primera línea genera un número de tres dígitos que indica cuántos mililitros de bebida se pueden obtener. La segunda línea genera un número entero positivo, que indica cuántas tazas se necesitan en total.

Ejemplo 1

Entrada de muestra n.° 1

500.0 3

Salida de muestra n.° 1

166.667
6

pista

Para todos los datos, 0 ≤ t ≤ 10000 0\leq t\leq 100000t10000 y no más de3 33位,1 ≤ n ≤ 1000 1\leq n\leq 10001norte1000 .

código (pitón)

n,t = map(float,input().split(" "))

print(round(n/t,3))
print(int(2*t))

10. [Base profunda 2.Xi 2] Área del triángulo

Enlace de pregunta: https://www.luogu.com.cn/problem/P5708

Descripción de la pregunta

Las longitudes de los tres lados de un triángulo son aaa ,bbbccc , entonces su área esp ( p − a ) ( p − b ) ( p − c ) \sqrt{p(pa)(pb)(pc)}pag ( paga ) ( pag.b ) ( pag.c ) , donde p = 1 2 ( a + b + c ) p=\frac{1}{2}(a+b+c)pag=21( un+b+c ) . Ingresa estos tres números y calcula el área del triángulo, redondeando al1 11er lugar decimal.

Formato de entrada

En la primera línea, ingresa tres números reales a, b, ca, b, cun ,segundo ,c , separados por espacios.

Formato de salida

Genera un número real que representa el área del triángulo. Preciso hasta 1 1 después del punto decimal1 lugar.

Ejemplo 1

Entrada de muestra n.° 1

3 4 5

Salida de muestra n.° 1

6.0

pista

Se garantiza que los datos forman un triángulo, 0 ≤ a , b , c ≤ 1000 0\leq a,b,c\leq 10000un ,segundo ,C1000 , la longitud de cada lado no debe exceder 2 2cuando se ingresa2do lugar decimal.

Código (C)

#include<string.h>
#include<stdio.h>
#include<math.h>
#include <stdlib.h>

int main()
{
    
    
	double a, b, c;
	scanf("%lf%lf%lf",&a,&b,&c);
	
	double p = 0.5*(a+b+c);
	double sum = sqrt(p*(p - a)*(p - b)*(p - c));
	printf("%.1lf",sum);
	return 0;	
} 

11. [Shenji 2. Ejemplo 12] Tarde a la escuela

Enlace de pregunta: https://www.luogu.com.cn/problem/P5707

Descripción de la pregunta

La distancia entre la escuela y la casa de yyy es sss metros, y yyy envvCaminando hacia la escuela a una velocidad constante de v metros por minuto.

De camino a la escuela, yyy cuesta 10 10 extra10 minutos para clasificar la basura.

Los requisitos escolares deben ser a las 8:00 a. m. \textrm{8:00}Llegue a las 8:00 , calcule yyy la última hora a la que puede salir sin llegar tarde.

Debido a la gran distancia yyy es posible que tenga que salir un poco antes, pero el tiempo de antelación no será superior a un día.

Formato de entrada

Dos números enteros positivos s, vs, v seguidoss ,v , representan la distancia y la velocidad respectivamente.

Formato de salida

Salida un 24 24La hora en formato de 24 horas representa la última hora de salida de yyy.

El formato de salida es HH:MM \texttt{HH:MM}HH:MM , que representa las horas y minutos de la hora respectivamente. Se deben generar dos dígitos y los números que faltan se deben completar con0 00 .

Ejemplo 1

Entrada de muestra n.° 1

100 99

Salida de muestra n.° 1

07:48

pista

Por 100 % 100\%100% de los datos,1 ≤ s , v ≤ 1 0 4 1 \le s,v \le 10^41s ,v1 04 .

código (pitón)

import math

s, v = map(int, input().split())
n = 8 * 60 + 24 * 60  # 两天总共可以走的时间
t = math.ceil(s / v) + 10  # math.ceil向上取整
n = n - t  # 得出剩下的时间
if n > 24 * 60:  # 判断是否在前一天
    n -= 24 * 60
b = n % 60  # 出发的分
a = n / 60  # 出发的时
if a < 10:
    if b < 10:
        print("0%d:0%d" % (a, b))
    else:
        print("0%d:%d" % (a, b))
else:
    if b < 10:
        print("%d:0%d" % (a, b))
    else:
        print("%d:%d" % (a, b))

12. Los elefantes beben agua.

Enlace de pregunta: https://www.luogu.com.cn/problem/B2029

Descripción de la pregunta

Un elefante tiene sed y quiere beber 20 20Se necesitan 20 litros de agua para saciar la sed, pero ahora solo queda unoprofundoh cm, el radio de la base esrrr cm cañón pequeño (hhh yrrr son todos números enteros). Pregúntale a un elefante cuántos barriles de agua necesita beber para saciar su sed.

Actualización: Actualización de datos, aquí tomamos aproximadamente pi = 3.14 \pi = 3.14Pi=3.14 .

Formato de entrada

La entrada es una línea: contiene dos números enteros, separados por un espacio, que representan la profundidad hh del barril pequeño.h y radio baserrr , las unidades son centímetros.

Formato de salida

Genere una línea que contenga un número entero que represente la cantidad mínima de cubos de agua que el elefante necesita para beber.

Ejemplo 1

Entrada de muestra n.° 1

23 11

Salida de muestra n.° 1

3

pista

Tamaño de datos y convenciones

Para todos los puntos de prueba, se garantiza que 1 ≤ h ≤ 500 1 \leq h \leq 5001h5001 ≤ r ≤ 100 1 \leq r \leq 1001r100 .

código (pitón)

import math

h ,r = map(int , input().split(" "))

pi = 3.14
v  = pi*r*r*h*0.001
num = math.ceil(20/v)
print(num)

13. Tiempo de nado de peces pequeños.

Enlace de pregunta: https://www.luogu.com.cn/problem/P1425

Descripción de la pregunta

Se acercan los Juegos Olímpicos de Londres y el pececito practica natación desesperadamente para prepararse para la competición de natación, el pobre pececito no sabe que los peces no pueden participar en los Juegos Olímpicos humanos.

En este día, Xiaoyu cronometró con precisión su tiempo de natación (los tiempos en esta pregunta son todos de acuerdo con 24 24Reloj de 24 horas), se encuentra desdeaaun cuandobbb puntos nadando hastael ccc cuandoddPunto d , por favor ayuda al pececito a calcular, ¿cuánto tiempo nadó en total ese día?

A los pececitos les cuesta mucho nadar, así que no te equivoques.

Formato de entrada

Ingrese cuatro números enteros en una línea, separados por espacios, que representen a, b, c, da, b, c, d en la pregunta respectivamente.un ,segundo ,c ,re .

Formato de salida

Genera dos números enteros ee en una líneae yfff , separado por espacios, indica el número total de horas y minutos que nadó el pez ese día. donde es un número entero ffque representa minutosf debe ser menor que60 6060 .

Ejemplo 1

Entrada de muestra n.° 1

12 50 19 10

Salida de muestra n.° 1

6 20

pista

Para todos los datos de prueba, 0 ≤ a , c ≤ 24 0\le a,c \le 240un ,C240 ≤ b , d ≤ 60 0\le b,d \le 600segundo ,d60 y la hora de finalización debe ser posterior a la hora de inicio.

código (pitón)

import math

a,b,c,d = map(int , input().split(" "))

num = (c-a)*60+d-b

hour = math.ceil(num/60)-1
minute = num - hour*60
print(hour,minute)

14. Xiaoyu compra material de oficina

Enlace de pregunta: https://www.luogu.com.cn/problem/P1421

Descripción de la pregunta

El director le dio a Xiaoyu la tarea de ir a la papelería y comprar tantos bolígrafos de firma como fuera posible. Se sabe que el precio de un bolígrafo es 1 11 yuan9 99 centavos, y el dinero que el director le dio a Xiaoyu fueaaun yuanbbEsquina b , Xiaoyu quiere saber cuántos bolígrafos de firma puede comprar como máximo.

Formato de entrada

La entrada es solo una línea de dos números enteros, que representan aa respectivamente.a ybbsegundo .

Formato de salida

Genere un número entero en una línea, que indica la cantidad máxima de bolígrafos de firma que Xiaoyu puede comprar.

Ejemplo 1

Entrada de muestra n.° 1

10 3

Salida de muestra n.° 1

5

pista

Tamaño de datos y convenciones

Para todos los puntos de prueba, se garantiza que 0 ≤ a ≤ 1 0 4 0 \leq a \leq 10^40a1 040 ≤ b ≤ 9 0 \leq b \leq 90b9 .

código (pitón)

import math

a,b = map(int , input().split(" "))

all = a*10+b
price=19
print(math.ceil(all/price)-1)

15. Resultados del [Grupo de Popularización NOIP2017]

Enlace de pregunta : https://www.luogu.com.cn/problem/P3954

Antecedentes de la pregunta

NOIP2017 grupo de popularización T1

Descripción de la pregunta

Niu Niu estudió recientemente el curso de introducción a C ++ y el método de cálculo de la puntuación total de este curso es:

Puntaje total = puntaje de la tarea $ \times 20% + puntaje del examen puntaje del examenPuntuación del examen × 30% +puntuación del examen final Puntuación del examen finalPuntuación del examen final \veces 50%$

Niu Niu quiere saber cuántos puntos podrá conseguir al final de este curso.

Formato de entrada

Tres números enteros no negativos A, B, CA,B,Cun ,B ,C , representan respectivamente las puntuaciones de las tareas, las pruebas y los exámenes finales de Niu Niu. Dos números adyacentes están separados por un espacio. La puntuación total de los tres resultados es100 100100 puntos.

Formato de salida

Un número entero, es decir, la puntuación total del curso Niu Niu. La puntuación total también es 100100100 puntos.

Ejemplo 1

Entrada de muestra n.° 1

100 100 80

Salida de muestra n.° 1

90

Ejemplo #2

Entrada de muestra n.° 2

60 90 80

Salida de muestra n.° 2

79

pista

Muestra de entrada y salida 1 Descripción

La puntuación de la tarea de Niu Niu es 100100100 puntos, la puntuación del examen es100 100100 puntos, la puntuación del examen final es80 8080 puntos, la puntuación total es100 × 20 % + 100 × 30 % + 80 × 50 % = 20 + 30 + 40 = 90 100 \times 20\%+100 \times 30\%+80 \times 50\%= 20+30+40=90100×20%+100×30%+80×50%=20+30+40=90 .

Descripción de la muestra 2 de entrada y salida

La puntuación de la tarea de Niuniu es 60 6060 puntos, la puntuación del examen es90 9090 puntos, la nota del examen final es80 8080 puntos, la puntuación total es60 × 20 % + 90 × 30 % + 80 × 50 % = 12 + 27 + 40 = 79 60 \times 20\%+90 \times 30\%+80 \times 50\%= 12+27+40=7960×20%+90×30%+80×50%=12+27+40=79 .

los datos muestran

Por 30% 30\%30% de los datos,A = B = 0 A=B=0A=B=0 .

Para el otro 30% 30\%30% de los datos,A = B = 100 A=B=100A=B=100 .

Por 100 % 100\%100% datos,0 ≤ A, B, C ≤ 100 0≤A,B,C≤1000un ,B ,C100 yA, B, CA, B, Cun ,B ,C son todos10 10Múltiplos enteros de 10 .

código (pitón)



a,b,c = map(int,input().split(" "))

num =(int)( a*0.2 + b*0.3 + c*0.5)

print(num)

Supongo que te gusta

Origin blog.csdn.net/weixin_62529383/article/details/133151847
Recomendado
Clasificación