2021天梯决赛题目及题解(持续更新)
2021天梯决赛题目及题解(持续更新)
L1-1 人与神
跨界大神 L. Peter Deutsch 有一句名言:“To iterate is human, to recurse divine.”(迭代的是人,递归的是神)。本题就请你直接在屏幕上输出这句话。
输入格式:
本题没有输入。
输出格式:
在一行中输出 To iterate is human, to recurse divine.。
输入样例:
无
输出样例:
To iterate is human, to recurse divine.
#include <iostream>int main()
{printf("To iterate is human, to recurse divine.");return 0;
}
L1-2 两小时学完C语言
知乎上有个宝宝问:“两个小时内如何学完 C 语言?”当然,问的是“学完”并不是“学会”。
假设一本 C 语言教科书有 N 个字,这个宝宝每分钟能看 K 个字,看了 M 分钟。还剩多少字没有看?
输入格式:
输入在一行中给出 3 个正整数,分别是 N(不超过 400 000),教科书的总字数;K(不超过 3 000),是宝宝每分钟能看的字数;M(不超过 120),是宝宝看书的分钟数。
题目保证宝宝看完的字数不超过 N。
输出格式:
在一行中输出宝宝还没有看的字数。
输入样例:
100000 1000 72
输出样例:
28000
#include <stdio.h>
#include <stdlib.h>int main(int argc, char *argv[])
{long long N = 0;int K = 0;int M = 0;long long R = 0;scanf("%lld %d %d",&N,&K,&M);R = N - K*M;printf("%lld",R);return 0;
}
L1-3 强迫症
小强在统计一个小区里居民的出生年月,但是发现大家填写的生日格式不统一,例如有的人写 199808,有的人只写 9808。有强迫症的小强请你写个程序,把所有人的出生年月都整理成 年年年年-月月 格式。对于那些只写了年份后两位的信息,我们默认小于 22 都是 20 开头的,其他都是 19 开头的。
输入格式:
输入在一行中给出一个出生年月,为一个 6 位或者 4 位数,题目保证是 1000 年 1 月到 2021 年 12 月之间的合法年月。
输出格式:
在一行中按标准格式 年年年年-月月 将输入的信息整理输出。
输入样例 1:
9808
输出样例 1:
1998-08
输入样例 2:
0510
输出样例 2:
2005-10
输入样例 3:
196711
输出样例 3:
1967-11
#include <iostream>
#include <string.h>
using namespace std;void pf(char y[7])
{for(int i=0; i<4; i++){printf("%c",y[i]);}printf("-");for(int i=4; i<6; i++){printf("%c",y[i]);}
}int main()
{char y[7];scanf("%s",&y);if(y[4]==NULL){char x[3];strncpy(x,y,2);x[2] = '\0';int x2=0;sscanf(x,"%d",&x2);if(x2<22){for(int i=3; i>=0; i--){y[i+2]=y[i];}y[0]='2';y[1]='0';pf(y);}else{for(int i=3; i>=0; i--){y[i+2]=y[i];}y[0]='1';y[1]='9';pf(y);}}else if(y[4] != NULL){pf(y);}return 0;
}
L1-4 降价提醒机器人
小 T 想买一个玩具很久了,但价格有些高,他打算等便宜些再买。但天天盯着购物网站很麻烦,请你帮小 T 写一个降价提醒机器人,当玩具的当前价格比他设定的价格便宜时发出提醒。
输入格式:
输入第一行是两个正整数 N 和 M (1≤N≤100,0≤M≤1000),表示有 N 条价格记录,小 T 设置的价格为 M。
接下来 N 行,每行有一个实数 Pi(−1000.0<P i<1000.0),表示一条价格记录。
输出格式:
对每一条比设定价格 M 便宜的价格记录 P,在一行中输出 On Sale! P,其中 P 输出到小数点后 1 位。
输入样例:
4 99
98.0
97.0
100.2
98.9
输出样例:
On Sale! 98.0
On Sale! 97.0
On Sale! 98.9
#include <iostream>
#include <stdio.h>int main()
{int num =0;float pr =0;float arr[1001];scanf("%d %f",&num,&pr);for(int i=0; i<num; i++){scanf("%f",&arr[i]);}for(int i=0; i<num; i++){if(arr[i]<pr){printf("On Sale! ");printf("%.1f\n",arr[i]);}}return 0;
}
L1-5 大笨钟的心情
有网友问:未来还会有更多大笨钟题吗?笨钟回复说:看心情……
本题就请你替大笨钟写一个程序,根据心情自动输出回答。
输入格式:
输入在一行中给出 24 个 [0, 100] 区间内的整数,依次代表大笨钟在一天 24 小时中,每个小时的心情指数。
随后若干行,每行给出一个 [0, 23] 之间的整数,代表网友询问笨钟这个问题的时间点。当出现非法的时间点时,表示输入结束,这个非法输入不要处理。题目保证至少有 1 次询问。
输出格式:
对每一次提问,如果当时笨钟的心情指数大于 50,就在一行中输出 心情指数 Yes,否则输出 心情指数 No。
输入样例:
80 75 60 50 20 20 20 20 55 62 66 51 42 33 47 58 67 52 41 20 35 49 50 63
17
7
3
15
-1
输出样例:
52 Yes
20 No
50 No
58 Yes
#include <iostream>
#include <stdio.h>int main()
{int arr[24];for(int i=0; i<24; i++){scanf("%d",&arr[i]);}while(1){int n;scanf("%d",&n);if (n < 0 || n>23)break;if (arr[n] > 50)printf("%d Yes\n",arr[n]);elseprintf("%d No\n",arr[n]);}return 0;
}
L1-6 吉老师的回归
曾经在天梯赛大杀四方的吉老师决定回归天梯赛赛场啦!
为了简化题目,我们不妨假设天梯赛的每道题目可以用一个不超过 500 的、只包括可打印符号的字符串描述出来,如:Problem A: Print “Hello world!”。
众所周知,吉老师的竞赛水平非常高超,你可以认为他每道题目都会做(事实上也是……)。因此,吉老师会按照顺序看题并做题。但吉老师水平太高了,所以签到题他就懒得做了(浪费时间),具体来说,假如题目的字符串里有 qiandao 或者 easy(区分大小写)的话,吉老师看完题目就会跳过这道题目不做。
现在给定这次天梯赛总共有几道题目以及吉老师已经做完了几道题目,请你告诉大家吉老师现在正在做哪个题,或者吉老师已经把所有他打算做的题目做完了。
提醒:天梯赛有分数升级的规则,如果不做签到题可能导致团队总分不足以升级,一般的选手请千万不要学习吉老师的酷炫行为!
输入格式:
输入第一行是两个正整数 N,M (1≤M≤N≤30),表示本次天梯赛有 N 道题目,吉老师现在做完了 M 道。
接下来 N 行,每行是一个符合题目描述的字符串,表示天梯赛的题目内容。吉老师会按照给出的顺序看题——第一行就是吉老师看的第一道题,第二行就是第二道,以此类推。
输出格式:
在一行中输出吉老师当前正在做的题目对应的题面(即做完了 M 道题目后,吉老师正在做哪个题)。如果吉老师已经把所有他打算做的题目做完了,输出一行 Wo AK le。
输入样例 1:
5 1
L1-1 is a qiandao problem.
L1-2 is so…easy.
L1-3 is Easy.
L1-4 is qianDao.
Wow, such L1-5, so easy.
输出样例 1:
L1-4 is qianDao.
输入样例 2:
5 4
L1-1 is a-qiandao problem.
L1-2 is so easy.
L1-3 is Easy.
L1-4 is qianDao.
Wow, such L1-5, so!!easy.
输出样例 2:
Wo AK le
#include <bits/stdc++.h>
#include <string.h>
using namespace std;int main()
{int n,m;string str[31];scanf("%d %d",&n,&m);for(int i=0; i<=n; i++){getline(cin,str[i]);}for(int i=1; i<=n; i++) //至少做了一题{if(str[i].find("easy") == -1 && str[i].find("qiandao") == -1){m--;}if(m == -1){cout << str[i];return 0;}}cout<<"Wo AK le";return 0;
}
L1-7 天梯赛的善良
天梯赛是个善良的比赛。善良的命题组希望将题目难度控制在一个范围内,使得每个参赛的学生都有能做出来的题目,并且最厉害的学生也要非常努力才有可能得到高分。
于是命题组首先将编程能力划分成了 10
6
个等级(太疯狂了,这是假的),然后调查了每个参赛学生的编程能力。现在请你写个程序找出所有参赛学生的最小和最大能力值,给命题组作为出题的参考。
输入格式:
输入在第一行中给出一个正整数 N(≤2×10 ^4),即参赛学生的总数。随后一行给出 N 个不超过 10 ^6
的正整数,是参赛学生的能力值。
输出格式:
第一行输出所有参赛学生的最小能力值,以及具有这个能力值的学生人数。第二行输出所有参赛学生的最大能力值,以及具有这个能力值的学生人数。同行数字间以 1 个空格分隔,行首尾不得有多余空格。
输入样例:
10
86 75 233 888 666 75 886 888 75 666
输出样例:
75 3
888 2
#include <bits/stdc++.h>
using namespace std;int arr[1000000];
int main()
{int n;int j=0,k=0;int max=-1,min=1000001;scanf("%d",&n);for(int i=0; i<n; i++){scanf("%d",&arr[i]);}for(int i=0; i<n; i++){if(arr[i]>max){max = arr[i];}if(arr[i]<min){min = arr[i];}}for(int i=0; i<n; i++){if(arr[i] == max){j++;}if(arr[i] == min){k++;}}printf("%d %d\n",min,k);printf("%d %d\n",max,j);return 0;
}
L1-8 乘法口诀数列
本题要求你从任意给定的两个 1 位数字 a1和 a2开始,用乘法口诀生成一个数列 {an},规则为从 a1开始顺次进行,每次将当前数字与后面一个数字相乘,将结果贴在数列末尾。如果结果不是 1 位数,则其每一位都应成为数列的一项。
输入格式:
输入在一行中给出 3 个整数,依次为 a1、a2和 n,满足 0≤a1,a2 ≤9,0<n≤10 ^3 。
输出格式:
在一行中输出数列的前 n 项。数字间以 1 个空格分隔,行首尾不得有多余空格。
输入样例:
2 3 10
输出样例:
2 3 6 1 8 6 8 4 8 4
样例解释:
数列前 2 项为 2 和 3。从 2 开始,因为 2×3=6,所以第 3 项是 6。因为 3×6=18,所以第 4、5 项分别是 1、8。依次类推…… 最后因为第 6 项有 6×8=48,对应第 10、11 项应该是 4、8。而因为只要求输出前 10 项,所以在输出 4 后结束。
#include <bits/stdc++.h>
using namespace std;int main()
{int n,m,k,num,len=1;int arr[20001]= {0};scanf("%d %d %d",&n,&m,&k);arr[0]=n,arr[1]=m;for(int i=0; i<k-2; i++){num = arr[i]*arr[i+1];if(num<10){len++;arr[len] = num;}else if(num<100){arr[len+2] = num%10;arr[len+1] = (num/10)%10;len +=2;}else if(num<1000){arr[len+3] = num%10;arr[len+2] = (num/10)%10;arr[len+1] = (num/100)%10;len +=3;}}for(int i=0; i<k; i++){if(i<k-1) printf("%d ",arr[i]);else printf("%d",arr[i]);}return 0;
}
持续更新中喔……大家一起加油冲冲冲
2021天梯决赛题目及题解(持续更新)相关推荐
- CTFHUB技能树题目解析(持续更新)
CTFHUB题目解析(持续更新) Web 信息泄露 目录遍历 PHPINFO 备份文件下载 网站源码 bak文件 vim缓存 .Ds_Store Git泄露 Log Stash Index SVN泄露 ...
- 动态规划题目汇总(持续更新)
动态规划题目汇总(持续更新) 目录 动态规划题目汇总(持续更新) 1. 钢条切割 问题描述 解法 2. 矩阵链乘法 问题描述 解法 3. 最长公共子序列 问题描述 解法 4. 无重复字符的最长子串 问 ...
- 机器学习岗面试题目汇总「持续更新」
机器学习岗面试题目汇总「持续更新」 前情提要 交叉熵损失为什么要取log?
- HDU杭电OJ经典100题2000-2099_Java版详细题解(持续更新)
今年寒假打算用Java把杭电2000-2099全部AC(现在持续更新),如下是题目链接,之后是我的题解,全部做完后我会把所有AC的题解打包上传的 题号 题名 题号 题名 2000 ASCII码排序 2 ...
- CVPR 2021 论文/代码分类汇总!持续更新中!
CVPR 2021 的论文官方还没有完全公布,但有作者陆续公布出来一些.为方便大家跟进论文,了解最新技术,CV君在Github建了一个仓库,对已经出来的论文(目前是340多篇)进行了按类别汇总.对于O ...
- 2021考研计算机调剂学校,各大院校2021考研调剂信息汇总(持续更新)
考研复试参考书目有的学校已经公布,早一点复习,就多一点胜算,小伙伴们一定要重视起来.没有公布的同学多关注目标院校研招动态.有些学校可能没有指定参考书目,这时候就需要我们自己去找一些资料进行复习. 下面 ...
- 【GPLT】【2021天梯赛真题题解】【231分】
文章目录 L1-1 人与神 (5 分) 题目描述 题目分析 L1-2 两小时学完C语言 (5 分) 题目描述 题目分析 L1-3 强迫症 (10 分) 题目描述 题目分析 L1-4 降价提醒机器人 ( ...
- Jarvis OJ PWN题解 持续更新~
最近沉(被)迷(迫)学pwn 看我们的志琦大佬 我就知道 pwn 玩玩就行 但是 不认真学 不行 然后向大佬打听了几个pwn的平台网站 打算 玩一下 这里找到了 Jarvis OJ ...
- [PTA]2021天梯赛-总决赛 L1题解合集
文章目录 前言说明 题解 人与神 (5 分) 两小时学完C语言 (5 分) 强迫症 (10 分) 降价提醒机器人 (10 分) 大笨钟的心情 (15 分) 吉老师的回归 (15 分) 天梯赛的善良 ( ...
- 计算机考研题目汇总【持续更新】
第一题:-6 解析 信号量的当前值如果是正值N,该值表示有N个可用资源. 如果为0,则表示所有资源全部被分配,同时没有进程处于等待状态 如果为负数N,则表示全部资源分配完毕,且还有N个进程处于等待该资 ...
最新文章
- MFC按钮CXPButton类,代码阅读起来还是挺不错的
- js 判断手机横竖屏的实现方法(不依赖任何其他库)
- ubuntu fstab 示例
- 条件概率 and 条件概率的链式法则 and 期望、方差和协方差
- TCP/IP协议栈模型分析
- 《剑指offer》题目说明
- matlab在activex中读取视频,[转载]matlab读取excel数据并显示在excel(activex控件)中
- 【LeetCode】剑指 Offer 63. 股票的最大利润
- kdump需要开启吗_iPhone全新黑科技!用嘴玩手机!你会玩吗?
- layUI日期格式转换
- kodi教程 linux,Kodi 设置教程 | Homepage of Zhikun Zhang
- 一个FLASH小游戏----Redball3
- linux下升级glibc-2.14问题
- 两个表里数组字段的映射关联(stuff ,charindex,for xml path)
- 让ajax更加友好,实时显示后台处理进度。
- Java web项目的解耦合
- 【第三方服务】微信公众平台授权登录
- 视频教程-数据结构实战完全手册-C/C++
- 对于女生来说,软件测试和前端,学哪一个更好啊
- Python等待所有线程任务完成