洛谷入门题单 --【入门1】顺序结构 题解

  1. - [P1001 A+B Problem]
  2. - [P1000 超级玛丽游戏]
  3. - [P5703 【深基2.例5】苹果采购]
  4. - [P5704 【深基2.例6】字母转换]
  5. - [P5705 【深基2.例7】数字反转]
  6. - [P5706 【深基2.例8】再分肥宅水]
  7. - [P1425 小鱼的游泳时间]
  8. - [P2433 【深基1-2】小学数学 N 合一]
  9. - [P5708 【深基2.习2】三角形面积]
  10. - [P1421 小玉买文具]
  11. - [P5709 【深基2.习6】Apples Prologue / 苹果和虫子]
  12. - [P2181 对角线]
  13. - [P5707 【深基2.例12】上学迟到]
  14. - [P3954 [NOIP2017 普及组] 成绩]

P1001 A+B Problem

题目描述

输入两个整数 a, b,输出它们的和。

注意

  1. Pascal 使用 integer 会爆掉哦!
  2. 有负数哦!
  3. C/C++ 的 main 函数必须是 int 类型,而且 C 最后要 return 0。这不仅对洛谷其他题目有效,而且也是 NOIP/CSP/NOI 比赛的要求!

好吧,同志们,我们就从这一题开始,向着大牛的路进发。

任何一个伟大的思想,都有一个微不足道的开始。

输入格式

两个以空格分开的整数。

输出格式

一个整数。

输入输出样例

输入 #1复制

20 30

输出 #1复制

50

题解:

#include
int main()
{
	int a=0,b=0,sum=0;
	scanf("%d %d",&a,&b);
	sum=a+b;
	printf("%d",sum);
	return 0;
 } 

P1000 超级玛丽游戏

题目背景

本题是洛谷的试机题目,可以帮助了解洛谷的使用。

建议完成本题目后继续尝试P1001、P1008。

另外强烈推荐新用户必读贴

题目描述

超级玛丽是一个非常经典的游戏。请你用字符画的形式输出超级玛丽中的一个场景。

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

输入格式

输出格式

如描述

输入输出样例

题解:

#include
int main()
{
	printf("                ********\n");
	printf("               ************\n");
	printf("               ####....#.\n");
	printf("             #..###.....##....\n");
	printf("             ###.......######              ###            ###\n");
	printf("                ...........               #...#          #...#\n");
	printf("               ##*#######                 #.#.#          #.#.#\n");
	printf("            ####*******######             #.#.#          #.#.#\n");
	printf("           ...#***.****.*###....          #...#          #...#\n");
	printf("           ....**********##.....           ###            ###\n");
	printf("           ....****    *****....\n");
	printf("             ####        ####\n");
	printf("           ######        ######\n");
	printf("##############################################################\n");
	printf("#...#......#.##...#......#.##...#......#.##------------------#\n");
	printf("###########################################------------------#\n");
	printf("#..#....#....##..#....#....##..#....#....#####################\n");
	printf("##########################################    #----------#\n");
	printf("#.....#......##.....#......##.....#......#    #----------#\n");
	printf("##########################################    #----------#\n");
	printf("#.#..#....#..##.#..#....#..##.#..#....#..#    #----------#\n");
	printf("##########################################    ############\n");	
 } 

P5703 【深基2.例5】苹果采购

题目描述

现在需要采购一些苹果,每名同学都可以分到固定数量的苹果,并且已经知道了同学的数量,请问需要采购多少个苹果?

输入格式

输入两个不超过 10^9109 正整数,分别表示每人分到的数量和同学的人数。

输出格式

一个整数,表示答案。保证输入和答案都在int范围内的非负整数。

输入输出样例

输入 #1复制

5 3

输出 #1复制

15

题解:

#include
int main()
{
	int i,m,n;
	scanf("%d %d",&i,&m);
	n=i*m;
	printf("%d",n);
	return 0;
}

P5704 【深基2.例6】字母转换

题目描述

输入一个小写字母,输出其对应的大写字母。例如输入 q[回车] 时,会输出 Q。

输入格式

输出格式

输入输出样例

输入 #1复制

q

输出 #1复制

Q

题解:

#include
int main()
{
	char i;
	i=getchar();
	putchar(i-32);
	return 0;
}

P5705 【深基2.例7】数字反转

题目描述

输入一个不小于 100100 且小于 10001000,同时包括小数点后一位的一个浮点数,例如 123.4123.4 ,要求把这个数字翻转过来,变成 4.3214.321 并输出。

输入格式

一行一个浮点数

输出格式

一行一个浮点数

输入输出样例

输入 #1复制

123.4

输出 #1复制

4.321

题解:

#include
int main()
{
	char g,h,j,k;
	scanf("%c%c%c.%c",&g,&h,&j,&k);
	printf("%c.%c%c%c",k,j,h,g);
	
	return 0;
}

P5706 【深基2.例8】再分肥宅水

题目描述

现在有 t 毫升肥宅快乐水,要均分给 n 名同学。每名同学需要 2 个杯子。现在想知道每名同学可以获得多少毫升饮料(严格精确到小数点后 3 位),以及一共需要多少个杯子。输入一个实数 t 和一个整数 n,使用空格隔开。输出两个数字表示答案,使用换行隔开。

0≤t≤10000且不超过3位小数,1≤n≤1000

输入格式

输出格式

输入输出样例

输入 #1复制

500.0 3

输出 #1复制

166.667
6

题解:

#include
int main()
{
	int n;
	float t;
	scanf("%f %d",&t,&n);
	float i;int j;
	i=t/n;
	j=2*n;
	printf("%.3f\n%d",i,j);
	return 0;
 } 

P1425 小鱼的游泳时间

题目描述

伦敦奥运会要到了,小鱼在拼命练习游泳准备参加游泳比赛,可怜的小鱼并不知道鱼类是不能参加人类的奥运会的。

这一天,小鱼给自己的游泳时间做了精确的计时(本题中的计时都按24小时制计算),它发现自己从a时b分一直游泳到当天的c时d分,请你帮小鱼计算一下,它这天一共游了多少时间呢?

小鱼游的好辛苦呀,你可不要算错了哦。

输入格式

一行内输入 4 个整数,分别表示 a, b, c, d。

输出格式

一行内输出 2 个整数 e 和 f,用空格间隔,依次表示小鱼这天一共游了多少小时多少分钟。其中表示分钟的整数 f 应该小于60。

输入输出样例

输入 #1复制

12 50 19 10

输出 #1复制

6 20

说明/提示

对于全部测试数据,0\le a,c \le 240≤a,c≤24,0\le b,d \le 600≤b,d≤60,且结束时间一定晚于开始时间。

题解:

#include
int main()
{
	int a,b,c,d;
	scanf("%d %d %d %d",&a,&b,&c,&d);
	int e,f;
	if(d-b<0)
	{
		e=c-(a+1);
		f=60-b+d;
	}
	else
	{
		e=c-a;
		f=d-b;
	}
	printf("%d %d",e,f);
	return 0;
}

P2433 【深基1-2】小学数学 N 合一

题目描述

问题 1

请输出 I love Luogu!

问题 2

这里有 10 个苹果,小A 拿走了 2 个,Uim 拿走了 4 个,八尾勇拿走剩下的所有的苹果。我们想知道:

  1. 小A 和 Uim 两个人一共拿走多少苹果?
  2. 八尾勇能拿走多少苹果?

现在需要编写一个程序,输出两个数字作为答案,中间使用空格分开。

问题 3

现在有 14 个苹果。要均分给 4 名同学,分不掉的苹果放回冰箱。请问:

  1. 每位同学能分得几个苹果?

  2. 一共分出去多少苹果?

  3. 把几个苹果放回冰箱?

    现在需要编写一个程序,输出三个数字作为答案,每个数字一行。

问题 4

现在有 500 毫升的肥宅快乐水,要均分给 3 名同学,每位同学可以分到多少毫升?请输出一个数字作为输出。保留 6 位有效数字,且不使用科学计数法。

问题 5

甲列火车长 260 米,每秒行 12 米;乙列火车长 220 米,每秒行 20 米,两车相向而行,从两车车头相遇时开始计时,多长时间后两车车尾相离?已知答案是整数。

问题 6

一个长方形长宽分别是 6cm、9cm,求它的对角线长度(cm)。直接使用 cout 输出。

问题 7

Uim 银行账户里面有100元。经过了下面的操作:

  1. 往里面存了 10 元;

  2. 购物花掉了 20 元;

  3. 把里面的钱全部取出。

    请在每次操作后输出账户余额,并使用换行符隔开。

问题 8

当半径为 r=5,请输出圆的周长、面积和球体积。取 π=3.141593。请直接使用 cout 输出答案,每行一个数字。

问题 9

一只小猴买了若干个桃子。第一天他刚好吃了这些桃子的一半,又贪嘴多吃了一个;第二天他也刚好吃了剩余桃子的一半,贪嘴多吃了一个;第三天他又刚好吃了剩下的桃子的一半,并贪嘴多吃了一个。第四天起来一看,发现桃子只剩下一个了。请问小猴买了几个桃子?

问题 10

洛谷的评测任务是单位时间内均匀增加的。8 台评测机 30 分钟可以刚好把评测队列中的程序评测完毕,10 台评测机 6 分钟可以刚好把评测队列中的程序评测完毕,请问几台评测机可以在 10 分钟时刚好把评测队列中的程序评测完毕?

问题 11

小A跑步速度 5m/s,八尾勇跑步速度 8m/s,八尾勇在小A后面 100m,他们同时起跑,请问需要多长时间八尾勇可以追上小A?输出一个数字表示答案,使用 cout 直接输出。

问题 12

大家都知道有 26 个英文字母,其中A是第一个字母。现在请编程求出:

  1. M 是字母表中的第几个字母?
  2. 第 18 个字母是什么?

输出一个数字和一个字母,使用换行隔开。

问题 13

小 A 有两块球形橡皮泥,一个半径是 4,一个半径是 10。他想把这两块橡皮泥揉在一起,然后塑造成一个正方体,请问这个正方体的棱长是多少?如果结果不是整数,则舍去小数点之后的数字。取 \pi = 3.141593π=3.141593。

问题 14

根据咕咕网校的预测,当课程定价为 110 元时,会有 10 人报名。如果课程价格每降低 1 元,就会多 1 名报名者(反之亦然)。如果希望总共能收到 3500 元学费的话,那么应该定价多少呢?已知本题有两个答案符合要求,则取较小的那一个。如果这个答案不是整数,则需四舍五入精确到整数。

输入格式

输入一个数字,表示第几个问题。

输出格式

根据每个问题,输出一个答案。

输入输出样例

输入 #1复制

2

输出 #1复制

6 4

说明/提示

请解决以下小学数学题。你可以提交答案,也可以写一个程序。

对于本题来说,如果你不知道怎么输入,也可以这么抄:

#include
// 填上你觉得需要的其他头文件
using namespace std;
int main() {
    int T;
    cin >> T;
    if (T == 1) {
        // 粘贴问题 1 的主函数代码,除了 return 0
        cout << "I love Luogu!";
    } else if (T == 2) {
        // 粘贴问题 2 的主函数代码,除了 return 0
        cout << 2 + 4 << " " << 10 - 2 - 4;
    } else if (T == 3) {
        // 请自行完成问题 3 的代码
    } else if (T == 4) {
        // 请自行完成问题 4 的代码
    } else if (T == 5) {
        // 请自行完成问题 5 的代码
    } else if (T == 6) {
        // 请自行完成问题 6 的代码
    } else if (T == 7) {
        // 请自行完成问题 7 的代码
    } else if (T == 8) {
        // 请自行完成问题 8 的代码
    } else if (T == 9) {
        // 请自行完成问题 9 的代码
    } else if (T == 10) {
        // 请自行完成问题 10 的代码
    } else if (T == 11) {
        // 请自行完成问题 11 的代码
    } else if (T == 12) {
        // 请自行完成问题 12 的代码
    } else if (T == 13) {
        // 请自行完成问题 13 的代码
    } else if (T == 14) {
        // 请自行完成问题 14 的代码
    }
    return 0;
}

题解:

#include
int main()
{	
	int i;
	scanf("%d",&i);
	if(i==1)
		printf("I love Luogu!");
	if(i==2){
		 printf("6 4");        
	}
	if(i==3){
		printf("3\n12\n2");
	}
	if(i==4){
		printf("166.667\n");
	}
	if(i==5){
		printf("15\n");
	}
	if(i==6){
		printf("10.8167\n");
	}
	if(i==7){
		printf("110\n90\n0\n");
	} 
	if(i==8){
		printf("31.4159\n78.5398\n523.599\n");
	}
	if(i==9){
		printf("22\n");
	}
	if(i==10){
		printf("9");
	}
	if(i==11){
		printf("33.3333");
	}
	if(i==12){
		printf("%d\n%c",'M'-'A'+1,'A'+18-1);
	}
	if(i==13){
		printf("%d",16);
	}
	if(i==14){
		printf("%d",50);
	}
	 
	
	return 0;
}

P5708 【深基2.习2】三角形面积

题目描述

一个三角形的三边长分别是 a、b、c,那么它的面积为 \sqrt{p(p-a)(p-b)(p-c)},其中 p= 1​/2(a+b+c) 。输入这三个数字,计算三角形的面积,四舍五入精确到 1 位小数。

保证能构成三角形,每个边长输入时不超过2位小数。

输入格式

输出格式

输入输出样例

输入 #1复制

3 4 5

输出 #1复制

6.0

题解:

#include
#include 

int main()
{
	double a,b,c;
	scanf("%lf %lf %lf",&a,&b,&c);
	double p,d,s;
	p=(a+b+c)/2;
	d=p*(p-a)*(p-b)*(p-c);
	s=sqrt(d);
	printf("%.1f\n",s);
	
	return 0;
}

P1421 小玉买文具

题目描述

班主任给小玉一个任务,到文具店里买尽量多的签字笔。已知一只签字笔的价格是 1元 9 角,而班主任给小玉的钱是 a 元 b 角,小玉想知道,她最多能买多少只签字笔呢。

输入格式

输入只有一行两个整数,分别表示 a 和 b。

输出格式

输出一行一个整数,表示小玉最多能买多少只签字笔。

输入输出样例

输入 #1复制

10 3

输出 #1复制

5

说明/提示

数据规模与约定

对于全部的测试点,保证 0 \leq a \leq 10^40≤a≤104,0 \leq b \leq 90≤b≤9。

题解:

#include
int main()
{
	int a,b,n,s;
	scanf("%d %d",&a,&b);
	n=a*10+b;
	s=n/19;
	printf("%d",s);
	return 0;
}

P5709 【深基2.习6】Apples Prologue / 苹果和虫子

题目描述

八尾勇喜欢吃苹果。她现在有 m个苹果,吃完一个苹果需要花费 t分钟,吃完一个后立刻开始吃下一个。现在时间过去了 s分钟,请问她还有几个完整的苹果?

输入格式

输入三个非负整数表示 m, t, s。

输出格式

输出一个整数表示答案。

如果你出现了 RE,不如检查一下被零除?

输入输出样例

输入 #1复制

50 10 200

输出 #1复制

30

题解:

#include
using namespace std;

int main()
{
	int m,t,s;
	cin>>m>>t>>s;
	if(t==0)
	{
		cout<< 0 <

 P2181 对角线

题目描述

对于一个 n 个顶点的凸多边形,它的任何三条对角线都不会交于一点。请求出图形中对角线交点的个数。

例如,6 边形:

洛谷入门题单 --【入门1】顺序结构 题解_第1张图片

输入格式

输入只有一行一个整数 n,代表边数。

输出格式

输出一行一个整数代表答案。

输入输出样例

输入 #1复制

3

输出 #1复制

0

输入 #2复制

6

输出 #2复制

15

说明/提示

数据规模与约定

  • 对于 50 \%50% 的数据,保证 3 \leq n \leq 1003≤n≤100。
  • 对于 100 \%100% 的数据,保证 3 \leq n \leq 10^53≤n≤105。

 题解:

洛谷入门题单 --【入门1】顺序结构 题解_第2张图片

#include
using namespace std;
int main()
{
	unsigned long long n,num;

	scanf("%lld",&n);
	num=n*(n-1)/2*(n-2)/3*(n-3)/4;
	cout<< num <

P5707 【深基2.例12】上学迟到 

题目描述

yyy 的学校要求早上 8 点前到达。学校到 yyy 的家一共有 s(s≤10000) 米,而 yyy 可以以 v((v<10000) 米每分钟的速度匀速走到学校。此外在上学路上它还要额外花 10 分钟时间进行垃圾分类。请问为了避免迟到 yyy 最晚什么时候出门?输出 HH:MM 的时间格式,不足两位时补零。由于路途遥远, yyy 可能不得不提前一天出发,不过不可能提前超过一天。

输入格式

两个正整数 s,v,意思已经在题目中给定。

输出格式

hh:mm 表示最晚离开家的时间(时:分,必须输出两位,不足两位前面补0)

输入输出样例

输入 #1复制

100 99

输出 #1复制

07:48

题解:

洛谷入门题单 --【入门1】顺序结构 题解_第3张图片

#include
using namespace std;
int main()
{
	long s,v,m,h,t;
	cin >>s>>v;
	if (s%v==0){
		t=s/v+10;
	}
	else{
	    t=s/v+11;          
	}
	h=t/60;
	m=t%60;
	h=7-h;
	m=60-m;
    if(m<0){
	    h=h-1;
	    m+=60;
	}
	if(h<0){
		h+=24;
	}
	if(h<10){
		cout<<0<

P3954 [NOIP2017 普及组] 成绩 

题目背景

NOIP2017 普及组 T1

题目描述

牛牛最近学习了 C++ 入门课程,这门课程的总成绩计算方法是:

总成绩=作业成绩×20%+小测成绩×30%+期末考试成绩×50%

牛牛想知道,这门课程自己最终能得到多少分。

输入格式

三个非负整数 A,B,C,分别表示牛牛的作业成绩、小测成绩和期末考试成绩。相邻两个数之间用一个空格隔开,三项成绩满分都是 100 分。

输出格式

一个整数,即牛牛这门课程的总成绩,满分也是 100分。

输入输出样例

输入 #1复制

100 100 80 

输出 #1复制

90

输入 #2复制

60 90 80 

输出 #2复制

79

说明/提示

输入输出样例 1 说明

牛牛的作业成绩是 100分,小测成绩是 100 分,期末考试成绩是 80 分,总成绩是 100 \times 20\%+100 \times 30\%+80 \times 50\%=20+30+40=90100×20%+100×30%+80×50%=20+30+40=90。

输入输出样例 2 说明

牛牛的作业成绩是 60 分,小测成绩是 90分,期末考试成绩是 80 分,总成绩是 60 \times 20\%+90 \times 30\%+80 \times 50\%=12+27+40=7960×20%+90×30%+80×50%=12+27+40=79。

数据说明

对于 30% 的数据,A=B=0

对于另外 30%的数据,A=B=100

对于 100% 的数据,0≤A,B,C≤100 且 A,B,C 都是 10 的整数倍。

题解:

#include
using namespace std;
int main()
{
	unsigned int A,B,C;
	cin>>A >>B >>C;
	int sum;
	sum=A*0.2+B*0.3+C*0.5;
	cout<

你可能感兴趣的:(ACM算法,-洛谷题单,算法,蓝桥杯,c++,c语言,深度优先)