顺序结构
洛谷刷题第一讲
美赛暂且告一段落,算法已经一点不会了,在此会先对洛谷往期做题进行回归,并会在之后开启数据结构与算法章节。
-----引言
Hello,World!
题目描述
编写一个能够输出 Hello,World!
的程序。
提示: - 使用英文标点符号; - Hello,World!
逗号后面没有空格。 - H
和 W
为大写字母。
输入格式
输出格式
样例 #1
样例输入 #1
1 | 无 |
样例输出 #1
1 | Hello,World! |
梦的起点
1 |
|
输出字符菱形
题目描述
用 *
构造一个对角线长 \(5\) 个字符,倾斜放置的菱形。
输入格式
没有输入要求。
输出格式
如样例所示。用 *
构成的菱形。
样例 #1
样例输入 #1
1 |
样例输出 #1
1 | * |
1 | //.... |
超级玛丽游戏
题目背景
本题是洛谷的试机题目,可以帮助了解洛谷的使用。
另外强烈推荐新用户必读贴
题目描述
超级玛丽是一个非常经典的游戏。请你用字符画的形式输出超级玛丽中的一个场景。
1 | ******** |
1 |
|
A+B Problem
题目背景
强烈推荐新用户必读帖。
不熟悉算法竞赛的选手请看这里:
算法竞赛中要求的输出格式中,不能有多余的内容,这也包括了“请输入整数
\(\bm a\) 和 \(\bm b\)”
这一类的提示用户输入信息的内容。若包含了这些内容,将会被认为是
Wrong Answer
,即洛谷上的
WA
。在对比代码输出和标准输出时,系统将忽略每一行结尾的空格,以及最后一行之后多余的换行符。
若因此类问题出现本机似乎输出了正确的结果,但是实际提交结果为错误的现象,请勿认为是洛谷评测机出了问题,而是你的代码中可能存在多余的输出信息。用户可以参考在题目末尾提供的代码。
此外,请善用应用中的在线 IDE 功能,以避免不同平台的评测产生差异。
最后,请不要在对应的题目讨论区中发布自己的题解,请发布到题解区域中,否则将处以删除或禁言的处罚。若发现无法提交题解则表明本题题解数量过多,仍不应发布讨论。若您的做法确实与其他所有题解均不一样,请联系管理员添加题解。
题目描述
输入两个整数 \(a, b\),输出它们的和(\(|a|,|b| \le {10}^9\))。
注意
- Pascal 使用
integer
会爆掉哦! - 有负数哦!
- C/C++ 的 main 函数必须是
int
类型,而且 C 最后要return 0
。这不仅对洛谷其他题目有效,而且也是 NOIP/CSP/NOI 比赛的要求!
好吧,同志们,我们就从这一题开始,向着大牛的路进发。
任何一个伟大的思想,都有一个微不足道的开始。
输入格式
两个以空格分开的整数。
输出格式
一个整数。
样例 #1
样例输入 #1
1 | 20 30 |
样例输出 #1
1 | 50 |
提示
广告
洛谷出品的算法教材,帮助您更简单的学习基础算法。【官方网店绝赞热卖中!】>>>
本题各种语言的程序范例:
C 1
2
3
4
5
6
7
8
9
int main()
{
int a,b;
scanf("%d%d",&a,&b);
printf("%d\n", a+b);
return 0;
}
C++ 1
2
3
4
5
6
7
8
9
10
11
12
using namespace std;
int main()
{
int a,b;
cin >> a >> b;
cout << a+b << endl;
return 0;
}
Pascal 1
2
3
4
5var a, b: longint;
begin
readln(a,b);
writeln(a+b);
end.
Python2
1
2
s = raw_input().split()
print int(s[0]) + int(s[1])
1 | s = raw_input().split() |
Python3
1
2
s = input().split()
print(int(s[0]) + int(s[1]))
1 | s = input().split() |
Java 1
2
3
4
5
6
7
8
9import 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 (Node.js)
1 | const fs = require('fs') |
Ruby
1 | a, b = gets.split.map(&:to_i) |
PHP
1 |
|
Rust
1 | use std::io; |
Go
1 | package main |
C# Mono
1 | using System; |
Visual Basic Mono
1 | Imports System |
Kotlin
1 | fun main(args: Array<String>) { |
Haskell
1 | main = do |
Lua
1 | a = io.read('*n') |
OCaml
1 | Scanf.scanf "%i %i\n" (fun a b -> print_int (a + b)) |
Julia
1 | nums = map(x -> parse(Int, x), split(readline(), " ")) |
Scala
1 | object Main extends App { |
Perl
1 | my $in = <STDIN>; |
1 |
|
字符三角形
题目描述
给定一个字符,用它构造一个底边长 \(5\) 个字符,高 \(3\) 个字符的等腰字符三角形。
输入格式
输入只有一行,包含一个字符。
输出格式
该字符构成的等腰三角形,底边长 \(5\) 个字符,高 \(3\) 个字符。
样例 #1
样例输入 #1
1 | * |
样例输出 #1
1 | * |
提示
对于 \(100 \%\) 的数据,输入的字符是 ASCII 中的可见字符。
1 |
|
【深基2.例5】苹果采购
题目描述
现在需要采购一些苹果,每名同学都可以分到固定数量的苹果,并且已经知道了同学的数量,请问需要采购多少个苹果?
输入格式
输入两个不超过 \(10^9\) 正整数,分别表示每人分到的数量和同学的人数。
输出格式
一个整数,表示答案。保证输入和答案都在 int 范围内的非负整数。
样例 #1
样例输入 #1
1 | 5 3 |
样例输出 #1
1 | 15 |
1 |
|
【深基2.例6】字母转换
题目描述
输入一个小写字母,输出其对应的大写字母。例如输入 q[回车] 时,会输出 Q。
输入格式
输出格式
样例 #1
样例输入 #1
1 | q |
样例输出 #1
1 | Q |
1 |
|
【深基2.例7】数字反转
题目描述
输入一个不小于 \(100\) 且小于 \(1000\),同时包括小数点后一位的一个浮点数,例如 \(123.4\) ,要求把这个数字翻转过来,变成 \(4.321\) 并输出。
输入格式
一行一个浮点数
输出格式
一行一个浮点数
样例 #1
样例输入 #1
1 | 123.4 |
样例输出 #1
1 | 4.321 |
1 | //面向样例编程 |
【深基2.例8】再分肥宅水
题目描述
现在有 \(t\) 毫升肥宅快乐水,要均分给 \(n\) 名同学。每名同学需要 \(2\) 个杯子。现在想知道每名同学可以获得多少毫升饮料(严格精确到小数点后 \(3\) 位),以及一共需要多少个杯子。
输入格式
输入一个实数 \(t\) 和一个正整数 \(n\),使用空格隔开。
输出格式
输出两行。
第一行输出一个三位小数,表示可以获得多少毫升饮料。第二行输出一个正整数,表示一共需要多少个杯子。
样例 #1
样例输入 #1
1 | 500.0 3 |
样例输出 #1
1 | 166.667 |
提示
对于所有数据,\(0\leq t\leq 10000\) 且小数点后不超过 \(3\) 位,\(1\leq n\leq 1000\)。
1 |
|
【深基2.习2】三角形面积
题目描述
一个三角形的三边长分别是 \(a\)、\(b\)、\(c\),那么它的面积为 \(\sqrt{p(p-a)(p-b)(p-c)}\),其中 \(p=\frac{1}{2}(a+b+c)\)。输入这三个数字,计算三角形的面积,四舍五入精确到 \(1\) 位小数。
输入格式
第一行输入三个实数 \(a,b,c\),以空格隔开。
输出格式
输出一个实数,表示三角形面积。精确到小数点后 \(1\) 位。
样例 #1
样例输入 #1
1 | 3 4 5 |
样例输出 #1
1 | 6.0 |
提示
数据保证能构成三角形,\(0\leq a,b,c\leq 1000\),每个边长输入时不超过 \(2\) 位小数。
1 |
|
【深基2.例12】上学迟到
题目描述
学校和 yyy 的家之间的距离为 \(s\) 米,而 yyy 以 \(v\) 米每分钟的速度匀速走向学校。
在上学的路上,yyy 还要额外花费 \(10\) 分钟的时间进行垃圾分类。
学校要求必须在上午 \(\textrm{8:00}\) 到达,请计算在不迟到的前提下,yyy 最晚能什么时候出门。
由于路途遥远,yyy 可能不得不提前一点出发,但是提前的时间不会超过一天。
输入格式
一行两个正整数 \(s,v\),分别代表路程和速度。
输出格式
输出一个 \(24\) 小时制下的时间,代表 yyy 最晚的出发时间。
输出格式为 \(\texttt{HH:MM}\),分别代表该时间的时和分。必须输出两位,不足前面补 \(0\)。
样例 #1
样例输入 #1
1 | 100 99 |
样例输出 #1
1 | 07:48 |
提示
对于 \(100\%\) 的数据,\(1 \le s,v \le 10^4\)。
1 | //分类天才 |
大象喝水
题目描述
一只大象口渴了,要喝 \(20\) 升水才能解渴,但现在只有一个深 \(h\) 厘米,底面半径为 \(r\) 厘米的小圆桶 (\(h\) 和 \(r\) 都是整数)。问大象至少要喝多少桶水才会解渴。
Update:数据更新,这里我们近似地取圆周率 \(\pi = 3.14\)。
输入格式
输入有一行:包行两个整数,以一个空格分开,分别表示小圆桶的深 \(h\) 和底面半径 \(r\),单位都是厘米。
输出格式
输出一行,包含一个整数,表示大象至少要喝水的桶数。
样例 #1
样例输入 #1
1 | 23 11 |
样例输出 #1
1 | 3 |
提示
数据规模与约定
对于全部的测试点,保证 \(1 \leq h \leq 500\),\(1 \leq r \leq 100\)。
1 |
|
小鱼的游泳时间
题目描述
伦敦奥运会要到了,小鱼在拼命练习游泳准备参加游泳比赛,可怜的小鱼并不知道鱼类是不能参加人类的奥运会的。
这一天,小鱼给自己的游泳时间做了精确的计时(本题中的计时都按 \(24\) 小时制计算),它发现自己从 \(a\) 时 \(b\) 分一直游泳到当天的 \(c\) 时 \(d\) 分,请你帮小鱼计算一下,它这天一共游了多少时间呢?
小鱼游的好辛苦呀,你可不要算错了哦。
输入格式
一行内输入四个整数,以空格隔开,分别表示题目中的 \(a, b, c, d\)。
输出格式
一行内输出两个整数 \(e\) 和 \(f\),用空格间隔,依次表示小鱼这天一共游了多少小时多少分钟。其中表示分钟的整数 \(f\) 应该小于 \(60\)。
样例 #1
样例输入 #1
1 | 12 50 19 10 |
样例输出 #1
1 | 6 20 |
提示
对于全部测试数据,\(0\le a,c \le 24\),\(0\le b,d \le 60\),且结束时间一定晚于开始时间。
1 |
|
小玉买文具
题目描述
班主任给小玉一个任务,到文具店里买尽量多的签字笔。已知一只签字笔的价格是 \(1\) 元 \(9\) 角,而班主任给小玉的钱是 \(a\) 元 \(b\) 角,小玉想知道,她最多能买多少只签字笔呢。
输入格式
输入只有一行两个整数,分别表示 \(a\) 和 \(b\)。
输出格式
输出一行一个整数,表示小玉最多能买多少只签字笔。
样例 #1
样例输入 #1
1 | 10 3 |
样例输出 #1
1 | 5 |
提示
数据规模与约定
对于全部的测试点,保证 \(0 \leq a \leq 10^4\),\(0 \leq b \leq 9\)。
1 |
|
[NOIP2017 普及组] 成绩
题目背景
NOIP2017 普及组 T1
题目描述
牛牛最近学习了 C++ 入门课程,这门课程的总成绩计算方法是:
\[ \text{总成绩}=\text{作业成绩}\times 20\%+\text{小测成绩}×30\%+\text{期末考试成绩} \times 50\% \]
牛牛想知道,这门课程自己最终能得到多少分。
输入格式
三个非负整数 \(A,B,C\),分别表示牛牛的作业成绩、小测成绩和期末考试成绩。相邻两个数之间用一个空格隔开,三项成绩满分都是 \(100\) 分。
输出格式
一个整数,即牛牛这门课程的总成绩,满分也是 \(100\) 分。
样例 #1
样例输入 #1
1 | 100 100 80 |
样例输出 #1
1 | 90 |
样例 #2
样例输入 #2
1 | 60 90 80 |
样例输出 #2
1 | 79 |
提示
样例 1 说明
牛牛的作业成绩是 \(100\) 分,小测成绩是 \(100\) 分,期末考试成绩是 \(80\) 分,总成绩是 \(100 \times 20\%+100 \times 30\%+80 \times 50\%=20+30+40=90\)。
样例 2 说明
牛牛的作业成绩是 \(60\) 分,小测成绩是 \(90\) 分,期末考试成绩是 \(80\) 分,总成绩是 \(60 \times 20\%+90 \times 30\%+80 \times 50\%=12+27+40=79\)。
数据说明
对于 \(30\%\) 的数据,\(A=B=0\)。
对于另外 \(30\%\) 的数据,\(A=B=100\)。
对于 \(100\%\) 的数据,\(0≤A,B,C≤100\) 且 \(A,B,C\) 都是 \(10\) 的整数倍。
1 |
|