团体程序设计天梯赛-练习集L1篇⑨

news2025/1/16 7:56:41

🚀欢迎来到本文🚀
🍉个人简介:Hello大家好呀,我是陈童学,一个与你一样正在慢慢前行的普通人。
🏀个人主页:@陈童学哦`CSDN
💡所属专栏:PTA
🎁希望各位→点赞👍 + 收藏⭐️ + 留言📝
​ ⛱️刷题的当下应是享受的!望与诸君共勉!🏄‍♂️

在这里插入图片描述

题目汇总

  • 题解
    • L1-081 今天我要赢
    • L1-082 种钻石
    • L1-083 谁能进图书馆
    • L1-084 拯救外星人
    • L1-085 试试手气
    • L1-086 斯德哥尔摩火车上的题
    • L1-087 机工士姆斯塔迪奥
    • L1-088 静静的推荐
    • L1-089 最好的文档
    • L1-090 什么是机器学习
  • 写在最后

题解

L1-081 今天我要赢

2018 年我们曾经出过一题,是输出“2018 我们要赢”。今年是 2022 年,你要输出的句子变成了“我要赢!就在今天!”然后以比赛当天的日期落款。

输入格式:
本题没有输入。

输出格式:
输出分 2 行。在第一行中输出 I’m gonna win! Today!,在第二行中用 年年年年-月月-日日 的格式输出比赛当天的日期。已知比赛的前一天是 2022-04-22。

输入样例:

输出样例(第二行的内容要你自己想一想,这里不给出):
I’m gonna win! Today!
这一行的内容我不告诉你…… 你要自己输出正确的日期呀~

AC代码:

#include<iostream>
using namespace std;
int main()
{
    cout<<"I'm gonna win! Today!"<<endl;
    cout<<"2022-04-23";
}

L1-082 种钻石

在这里插入图片描述
2019年10月29日,中央电视台专题报道,中国科学院在培育钻石领域,取得科技突破。科学家们用金刚石的籽晶片作为种子,利用甲烷气体在能量作用下形成碳的等离子体,慢慢地沉积到钻石种子上,一周“种”出了一颗 1 克拉大小的钻石。

本题给出钻石的需求量和人工培育钻石的速度,请你计算出货需要的时间。

输入格式:
输入在一行中给出钻石的需求量 N(不超过 10
7
的正整数,以微克拉为单位)和人工培育钻石的速度 v(1≤v≤200,以微克拉/天为单位的整数)。

输出格式:
在一行中输出培育 N 微克拉钻石需要的整数天数。不到一天的时间不算在内。

输入样例:
102000 130
输出样例:
784

AC代码:

#include<iostream>
using namespace std;
int main()
{
    int n,v;
    cin>>n>>v;
    cout<<n/v;
}

L1-083 谁能进图书馆

为了保障安静的阅读环境,有些公共图书馆对儿童入馆做出了限制。例如“12 岁以下儿童禁止入馆,除非有 18 岁以上(包括 18 岁)的成人陪同”。现在有两位小/大朋友跑来问你,他们能不能进去?请你写个程序自动给他们一个回复。

输入格式:
输入在一行中给出 4 个整数:

禁入年龄线 陪同年龄线 询问者1的年龄 询问者2的年龄
这里的禁入年龄线是指严格小于该年龄的儿童禁止入馆;陪同年龄线是指大于等于该年龄的人士可以陪同儿童入馆。默认两个询问者的编号依次分别为 1 和 2;年龄和年龄线都是 [1, 200] 区间内的整数,并且保证 陪同年龄线 严格大于 禁入年龄线。

输出格式:
在一行中输出对两位询问者的回答,如果可以进就输出 年龄-Y,否则输出 年龄-N,中间空 1 格,行首尾不得有多余空格。

在第二行根据两个询问者的情况输出一句话:

如果两个人必须一起进,则输出 qing X zhao gu hao Y,其中 X 是陪同人的编号, Y 是小孩子的编号;
如果两个人都可以进但不是必须一起的,则输出 huan ying ru guan;
如果两个人都进不去,则输出 zhang da zai lai ba;
如果一个人能进一个不能,则输出 X: huan ying ru guan,其中 X 是可以入馆的那个人的编号。
输入样例 1:
12 18 18 8
输出样例 1:
18-Y 8-Y
qing 1 zhao gu hao 2
输入样例 2:
12 18 10 15
输出样例 2:
10-N 15-Y
2: huan ying ru guan

AC代码:

#include<iostream>
using namespace std;
int main()
{
    int a,b,c,d;    
    cin>>a>>b>>c>>d;	
	if(c>=a&&d>=a)
	{
		printf("%d-Y %d-Y\n",c,d);
		printf("huan ying ru guan");
	}
	else if(c>=a&&d<a)  
	{
		if(c>=b)    
		{
			printf("%d-Y %d-Y\n",c,d);
			printf("qing 1 zhao gu hao 2");
		} 
		else    
		{
			printf("%d-Y %d-N\n",c,d);
			printf("1: huan ying ru guan");
		} 
	}
	else if(d>=a&&c<a) 
	{
		if(d>=b)   
		{
			printf("%d-Y %d-Y\n",c,d);
			printf("qing 2 zhao gu hao 1");
		} 
		else    
		{
			printf("%d-N %d-Y\n",c,d);
			printf("2: huan ying ru guan");
		} 
	}
	else        
	{
		printf("%d-N %d-N\n",c,d);
		printf("zhang da zai lai ba");
	} 
} 

L1-084 拯救外星人

在这里插入图片描述
你的外星人朋友不认得地球上的加减乘除符号,但是会算阶乘 —— 正整数 N 的阶乘记为 “N!”,是从 1 到 N 的连乘积。所以当他不知道“5+7”等于多少时,如果你告诉他等于“12!”,他就写出了“479001600”这个答案。

本题就请你写程序模仿外星人的行为。

输入格式:
输入在一行中给出两个正整数 A 和 B。

输出格式:
在一行中输出 (A+B) 的阶乘。题目保证 (A+B) 的值小于 12。

输入样例:
3 6
输出样例:
362880

AC代码:

#include<iostream>
using namespace std;
int main()
{
    int a,b;
    cin>>a>>b;
    int sum=1;
    for(int i=1;i<=a+b;i++)
    {
       sum*=i;
    } 
    printf("%d",sum);
}

L1-085 试试手气

在这里插入图片描述
我们知道一个骰子有 6 个面,分别刻了 1 到 6 个点。下面给你 6 个骰子的初始状态,即它们朝上一面的点数,让你一把抓起摇出另一套结果。假设你摇骰子的手段特别精妙,每次摇出的结果都满足以下两个条件:

1、每个骰子摇出的点数都跟它之前任何一次出现的点数不同;
2、在满足条件 1 的前提下,每次都能让每个骰子得到可能得到的最大点数。
那么你应该可以预知自己第 n 次(1≤n≤5)摇出的结果。

输入格式:
输入第一行给出 6 个骰子的初始点数,即 [1,6] 之间的整数,数字间以空格分隔;第二行给出摇的次数 n(1≤n≤5)。

输出格式:
在一行中顺序列出第 n 次摇出的每个骰子的点数。数字间必须以 1 个空格分隔,行首位不得有多余空格。

输入样例:
3 6 5 4 1 4
3

输出样例:
4 3 3 3 4 3

样例解释:
这 3 次摇出的结果依次为:

6 5 6 6 6 6
5 4 4 5 5 5
4 3 3 3 4 3

AC代码:

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int a[7];   
    for(int i=1;i<=6;i++)
    {
        cin>>a[i];
    }
    int n;
    cin>>n;
    for(int i=1;i<=6;i++)
    {
        if(a[i]==6)
            a[i]-=n;
        else
        {
            int b=a[i];
            a[i]=6;
            for(int j=1;j<n;j++)
            {                               
                    a[i]-=1;
            }          
            if(a[i]<=b)
                a[i]-=1;
        }
    }
    cout<<a[1];
    for(int i=2;i<=6;i++)
    {
        cout<<" "<<a[i];
    }       
}

L1-086 斯德哥尔摩火车上的题

在这里插入图片描述
上图是新浪微博上的一则趣闻,是瑞典斯德哥尔摩火车上的一道题,看上去是段伪代码:

s = ‘’
a = ‘1112031584’
for (i = 1; i < length(a); i++) {
if (a[i] % 2 == a[i-1] % 2) {
s += max(a[i], a[i-1])
}
}
goto_url(‘www.multisoft.se/’ + s)
其中字符串的 + 操作是连接两个字符串的意思。所以这道题其实是让大家访问网站 www.multisoft.se/112358(注意:比赛中千万不要访问这个网址!!!)。

当然,能通过上述算法得到 112358 的原始字符串 a 是不唯一的。本题就请你判断,两个给定的原始字符串,能否通过上述算法得到相同的输出?

输入格式:
输入为两行仅由数字组成的非空字符串,长度均不超过 10
4
,以回车结束。

输出格式:
对两个字符串分别采用上述斯德哥尔摩火车上的算法进行处理。如果两个结果是一样的,则在一行中输出那个结果;否则分别输出各自对应的处理结果,每个占一行。题目保证输出结果不为空。

输入样例 1:
1112031584
011102315849

输出样例 1:
112358

输入样例 2:
111203158412334
12341112031584

输出样例 2:
1123583
112358

AC代码:

#include<bits/stdc++.h>
using namespace std;
int main()
{
    string s1,s2;
    string a="",b="";
    int i;
    cin>>s1>>s2;
    for(i=1;i<s1.size();i++)
    {
        if(s1[i]%2==s1[i-1]%2)
        {
            a+=max(s1[i],s1[i-1]);
        }
    }
    for(i=1;i<s2.size();i++)
    {
        if(s2[i]%2==s2[i-1]%2)
        {
            b+=max(s2[i],s2[i-1]);
        }
    }
    if(a==b)
        cout<<a;
    else
        cout<<a<<endl<<b;
    
}

L1-087 机工士姆斯塔迪奥

在 MMORPG《最终幻想14》的副本“乐欲之所瓯博讷修道院”里,BOSS 机工士姆斯塔迪奥将会接受玩家的挑战。

你需要处理这个副本其中的一个机制:N×M 大小的地图被拆分为了 N×M 个 1×1 的格子,BOSS 会选择若干行或/及若干列释放技能,玩家不能站在释放技能的方格上,否则就会被击中而失败。

给定 BOSS 所有释放技能的行或列信息,请你计算出最后有多少个格子是安全的。

输入格式:
输入第一行是三个整数 N,M,Q (1≤N×M≤10
5
,0≤Q≤1000),表示地图为 N 行 M 列大小以及选择的行/列数量。

接下来 Q 行,每行两个数 T
i

,C
i

,其中 T
i

=0 表示 BOSS 选择的是一整行,T
i

=1 表示选择的是一整列,C
i

为选择的行号/列号。行和列的编号均从 1 开始。

输出格式:
输出一个数,表示安全格子的数量。

输入样例:
5 5 3
0 2
0 4
1 3
输出样例:
12

AC代码:

#include<bits/stdc++.h>
using namespace std;
int main(){
    int N,M,Q;
    cin>>N>>M>>Q;
    int sum=0;
    int a[N][M];
    for(int i=0;i<N;i++)
    {
            for(int j=0;j<M;j++)
            {
                  a[i][j]=1;
             }
    }
    for(int j=1;j<=Q;j++)
    {
        int T,C;
        cin>>T>>C;
        if(T)
        {
            for(int i=0;i<N;i++)
            {
                a[i][C-1]=0;
                
            }
        }
        else
        {
            for(int i=0;i<M;i++)
            {
                a[C-1][i]=0;
                
            }
        }
     }
     for(int i=0;i<N;i++)
     {
          for(int j=0;j<M;j++)
          {
                if(a[i][j]==1)
                      sum++;
          }
     }
        cout<<sum;
}

L1-088 静静的推荐

天梯赛结束后,某企业的人力资源部希望组委会能推荐一批优秀的学生,这个整理推荐名单的任务就由静静姐负责。企业接受推荐的流程是这样的:

只考虑得分不低于 175 分的学生;
一共接受 K 批次的推荐名单;
同一批推荐名单上的学生的成绩原则上应严格递增;
如果有的学生天梯赛成绩虽然与前一个人相同,但其参加过 PAT 考试,且成绩达到了该企业的面试分数线,则也可以接受。
给定全体参赛学生的成绩和他们的 PAT 考试成绩,请你帮静静姐算一算,她最多能向企业推荐多少学生?

输入格式:
输入第一行给出 3 个正整数:N(≤10
5
)为参赛学生人数,K(≤5×10
3
)为企业接受的推荐批次,S(≤100)为该企业的 PAT 面试分数线。

随后 N 行,每行给出两个分数,依次为一位学生的天梯赛分数(最高分 290)和 PAT 分数(最高分 100)。

输出格式:
在一行中输出静静姐最多能向企业推荐的学生人数。

输入样例:
10 2 90
203 0
169 91
175 88
175 0
175 90
189 0
189 0
189 95
189 89
256 100
输出样例:
8
样例解释:
第一批可以选择 175、189、203、256 这四个分数的学生各一名,此外 175 分 PAT 分数达到 90 分的学生和 189 分 PAT 分数达到 95 分的学生可以额外进入名单。第二批就只剩下 175、189 两个分数的学生各一名可以进入名单了。最终一共 8 人进入推荐名单。

AC代码:

#include<bits/stdc++.h>
using namespace std;
int a[300]={0};
int main()
{
	int n,k,g;
    int sum=0;
	cin>>n>>k>>g;
	while(n--)
	{
		int x,y;
		cin>>x>>y;
		if(x>=175)
		{
			if(y>=g) 
                sum++;        
			else if(a[x]<k)
			{
				a[x]++;
				sum++;                
			}
		}
	}
	cout<<sum;
 }

L1-089 最好的文档

有一位软件工程师说过一句很有道理的话:“Good code is its own best documentation.”(好代码本身就是最好的文档)。本题就请你直接在屏幕上输出这句话。

输入格式:
本题没有输入。

输出格式:
在一行中输出 Good code is its own best documentation.。

输入样例:

输出样例:
Good code is its own best documentation.

AC代码:

#include<bits/stdc++.h>
using namespace std;
int main()
{
    cout<<"Good code is its own best documentation.";
}

L1-090 什么是机器学习

在这里插入图片描述
什么是机器学习?上图展示了一段面试官与“机器学习程序”的对话:

面试官:9 + 10 等于多少?
答:3
面试官:差远了,是19。
答:16
面试官:错了,是19。
答:18
面试官:不,是19。
答:19
本题就请你模仿这个“机器学习程序”的行为。

输入格式:
输入在一行中给出两个整数,绝对值都不超过 100,中间用一个空格分开,分别表示面试官给出的两个数字 A 和 B。

输出格式:
要求你输出 4 行,每行一个数字。第 1 行比正确结果少 16,第 2 行少 3,第 3 行少 1,最后一行才输出 A+B 的正确结果。

输入样例:
9 10
输出样例:
3
16
18
19

AC代码:

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int a,b;
    cin>>a>>b;
    cout<<a+b-16<<endl;
    cout<<a+b-3<<endl;
    cout<<a+b-1<<endl;
    cout<<a+b<<endl;
}

写在最后

🍉🍉🍉不必偏执于未知的真实,身处的当下即是意义和真实,爱才是解题的答案,也是刻画人生色彩的笔尖,耐心的走下去,总会遇到你爱的人和爱你的人。

🍁🍁🍁好啦,本文的内容就到此结束啦,我们下期再见哦!另外在祝各位小伙伴们要天天开心哦!
🍂🍂🍂如果你觉得本文对你有帮助的话,还请不要吝惜您的三连哦!您的支持就是我创作的最大动力!!爱你们💕💕💕
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/678741.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

编译原理笔记17:自下而上语法分析(4)LR(0)、SLR(1) 分析表的构造

目录 LR(0) 文法LR(0) 分析表的构造例 SLR(1) 文法SLR 分析表构造 非 SLR(1) 文法举例二义文法都不是 SLR(1) 文法不是二义文法的非 SLR(1) 文法 LR(0) 文法 若一个文法 G 的拓广文法 G’ 的识别活前缀的自动机中的每个状态&#xff08;项目集&#xff09;均不存在下述情况&…

【一文通】C/C++与Go语言混合编程入门级教程(Windows平台完成)

一、概述 Go语言可以通过自带的 cgo 工具进行 CGO 混合编程&#xff0c;这个工具放在go安装目录的 pkg\tool 下&#xff0c;其源代码则在 src\runtime\cgo 里面&#xff0c;当然作为入门教程本文不打算对cgo的实现原理进行深入研究&#xff0c;仅从 Hello World 的角度来实际体…

快速查询银行卡发卡省市和归属银行,了解自己的财务状况!

API接口是现代软件开发的基本组成部分。它们允许应用程序通过互联网连接到其他软件系统&#xff0c;并从这些系统中获取或传输数据。银行卡归属地查询API接口是为开发人员提供的一种工具&#xff0c;可以帮助他们轻松地查询银行卡的归属地信息。在本文中&#xff0c;我们将介绍…

内网横向移动—IPCATschtasks

内网横向移动—IPC&AT&schtasks 1. IPC介绍1.1. IPC利用条件关系1.1.1. IPC$空连接介绍1.1.2. 139与445端口介绍1.1.3. 默认共享 1.2. IPC连接问题1.2.1. IPC连接失败原因1.2.2. IPC连接常见错误 2. 横向移动常用命令2.1. IPC命令介绍2.1.1. IPC常用命令演示2.1.1.1. 建…

docker非root用户下取消sudo前缀

解决非root用户下执行docker命令提示权限不足&#xff0c;必须添加sudo的问题。 第一步&#xff1a;执行 sudo gpasswd aby docker 命令&#xff0c;将当前用户aby加入docker组中。 第二步&#xff1a;执行 sudo chmod arw /var/run/docker.sock 命令修改sock权限

数据结构之堆——算法与数据结构入门笔记(六)

本文是算法与数据结构的学习笔记第六篇&#xff0c;将持续更新&#xff0c;欢迎小伙伴们阅读学习。有不懂的或错误的地方&#xff0c;欢迎交流 引言 当涉及到高效的数据存储和检索时&#xff0c;堆&#xff08;Heap&#xff09;是一种常用的数据结构。上一篇文章中介绍了树和完…

chatgpt赋能python:Python列表转字符串——从新手到大师

Python列表转字符串——从新手到大师 在Python编程中&#xff0c;列表和字符串是非常常用的数据类型。有时候&#xff0c;我们需要将一个列表转换为一个字符串&#xff0c;以方便进行各种操作。幸运的是&#xff0c;Python内置了一些函数和方法&#xff0c;可以轻松地将列表转…

7Z045 引脚功能详解

本文针对7Z045芯片&#xff0c;详细讲解硬件设计需要注意的技术点&#xff0c;可以作为设计和检查时候的参考文件。问了方便实用&#xff0c;按照Bank顺序排列&#xff0c;包含配置Bank、HR Bank、HP Bank、GTX Bank、供电引脚等。 参考文档包括&#xff1a; ds191-XC7Z030-X…

ruoyi-cloud版本(一)项目的下载与本地运行(亲测有效)

目录 1 架构2 架构图3 源码下载4 创建数据库5 下载nacos与运行6 打开运行基础模块&#xff08;启动没有先后顺序&#xff09;7 启动前端 1 架构 com.ruoyi ├── ruoyi-ui // 前端框架 [80] ├── ruoyi-gateway // 网关模块 [8080] ├── ruoyi…

canvas详解00-认识canvas

身为一个WEB开发人员&#xff0c;肯定都是想着能够开发出酷炫和激动人心的应用程序来。可以很多动画特效&#xff0c;例如黑客帝国的数字&#xff0c;彩色炫酷的例子动效。也可以实现各种图画面板&#xff0c;如实现类似于photoshop的web在线图像编辑。各种酷炫的表单等等。 #…

专项练习10

目录 一、选择题 1、执行以下程序&#xff0c;下列说法中&#xff0c;正确的是&#xff08;&#xff09; 2、下面有关JavaScript中系统方法的描述&#xff0c;错误的是&#xff1f; 3、以下 JavaScript 代码&#xff0c;在浏览器中运行的结果是 4、假设DOM结构为 二、编程题 …

[ruby on rails] rails中使用graphQL

1. 添加gem gem graphql’是主要提供server的, gem graphiql-rails’是用来生成一个graphiql查询页面IDE,自己用来测试的group :development dogem graphiql-rails endgem graphql2.使用命令生成模板文件 rails g graphql:install在API only中,routes不会自动填充graphiql路…

chatgpt赋能python:Python的下载方法——从官网到第三方渠道

Python的下载方法——从官网到第三方渠道 Python 是一种翻译式、面向对象的、动态数据类型的高级程序设计语言&#xff0c;被广泛应用于数据分析、人工智能、物联网等领域。相信大多数程序员都知道 Python&#xff0c;并且使用它编写程序。那么&#xff0c;如何下载 Python&am…

人工智能(1):机器学习工作流程

1 什么是机器学习 机器学习是从数据中自动分析获得模型&#xff0c;并利用模型对未知数据进行预测。 2 机器学习工作流程 机器学习工作流程总结 1 获取数据 2 数据基本处理 3 特征工程 4 机器学习(模型训练) 5 模型评估 结果达到要求&#xff0c;上线服务没有达到要求&a…

程序编译连接加载过程详解

程序加载过程详解 可重定位的elf文件格式简介 首先我们打开目标文件看一下 上面的图就是目标文件的格式了&#xff0c;这里使用的是010editer&#xff0c;这个二进制编辑器很好用 可以看到大致分为三部分&#xff0c;首先是header&#xff0c;然后是sectionheader&#xff0…

MIT 6.S081 (BOOK-RISCV-REV1)教材第四章内容 -- Trap -- 下

MIT 6.S081 教材第四章内容 -- Trap -- 下 引言从内核空间陷入页面错误异常Page Fault BasicsLazy page allocationZero Fill On DemandCopy On Write ForkDemand PagingMemory Mapped Files 真实世界 引言 MIT 6.S081 2020 操作系统 本文为MIT 6.S081课程第四章教材内容翻译…

Windows编译OpenSSL Win10系统 vs2010

近期因为项目需要&#xff0c;需要用到openssl动态库&#xff0c;现在将编译的过程记录一下&#xff1b; 操作系统&#xff1a;Win10 64位 编译器&#xff1a;VS2010 编译步骤如下&#xff1a; 1、下载openssl版本&#xff08;下载地址&#xff1a;​http://www.openssl.or…

chatgpt赋能python:Python分割——字符串处理中的必备技能

Python分割——字符串处理中的必备技能 如果你曾经遇到过需要将一个字符串根据一定规则切割成多个子串的情况&#xff0c;那么你一定会发现&#xff0c;Python中的分割功能能够让这个任务变得非常简单。 什么是Python分割&#xff1f; Python中的分割是指将一个字符串根据特…

端午节安康,佬们都了解端午节的哪些知识呢(附粽子大作战小游戏)

前言&#xff1a; 端午节假期&#xff0c;首先祝各位小伙伴儿们端午节安康。参考了一些资料&#xff0c;本篇文章将和大家分享关于端午节的由来&#xff0c;习俗&#xff0c;以及关于端午节的一个代码小游戏–粽子大作战。 希望大家看完此篇文章能对端午节有收获&#xff0c;也…

如何在gitee上托管项目

1、如果想要将一个项目托管到gitee上,第一步找到gitee官网&#xff1a; https://gitee.com/?utm_sourcebaidu&utm_mediumsem&utm_termgitee%CB%BD%D3%D0%B2%BF%CA%F0&utm_campaignenterprise&utm_contentcompetition&wl_kwid260644677393&wl_creativ…