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 .H
yW
son 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 aa和b \bm bb "Este tipo de contenido solicita al usuario que ingrese información. Si se incluye este contenido, se considerará comoWrong Answer
LuoguWA
. 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
, WA
no 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}^9∣ un ∣ ,∣ segundo ∣≤109)。
Aviso
- ¡ Pascal
integer
explotará si se usa! - ¡Hay números negativos!
- La función principal de C/C++ debe ser
int
de tipo, y C lastreturn 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 100000≤t≤10000 y no más de3 33位,1 ≤ n ≤ 1000 1\leq n\leq 10001≤norte≤1000 .
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 ,bbb、ccc , entonces su área esp ( p − a ) ( p − b ) ( p − c ) \sqrt{p(pa)(pb)(pc)}pag ( pag−a ) ( 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 10000≤un ,segundo ,C≤1000 , 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^41≤s ,v≤1 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 5001≤h≤500,1 ≤ r ≤ 100 1 \leq r \leq 1001≤r≤100 .
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 240≤un ,C≤24,0 ≤ b , d ≤ 60 0\le b,d \le 600≤segundo ,d≤60 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^40≤a≤1 04,0 ≤ b ≤ 9 0 \leq b \leq 90≤b≤9 .
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≤1000≤un ,B ,C≤100 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)