2022年 团体程序设计天梯赛——题解集(2)

简介: ⭐L1一阶题 (虽然比较基础但是是很重要的一部分,且一些题目有一定难度哦!)⭐L1-081 今天我要赢 (5分)——水题本题题目链接!!!!!2018 年我们曾经出过一题,是输出“2018 我们要赢”。今年是 2022 年,你要输出的句子变成了“我要赢!就在今天!”然后以比赛当天的日期落款。

⭐L1-086 斯德哥尔摩火车上的题 (15分)

本题题目链接!!!!!

341ba46044424badbd85b129880af477.png

上图是新浪微博上的一则趣闻,是瑞典斯德哥尔摩火车上的一道题,看上去是段伪代码:


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

⭐Code:

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 机工士姆斯塔迪奥 (20分)

本题题目链接!!!!!

在 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

⭐Code:

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 静静的推荐 (20分)

本题题目链接!!!!!

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

只考虑得分不低于 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 人进入推荐名单

⭐Code:

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;
 }

⭐L2二阶题(目前还没有上传哈!!敬请期待!!)

⭐L3三阶题(目前也还没有上传哈!!敬请期待!!)

⭐写在最后

🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟

万事无往显,很多事物都不会一直停留在一个样子,它会发生改变,所以很多时候我们留恋的事物只是因为我们的执念,我们自己把它定格在了那一瞬间,但其实它可能不似当年模样只是由于我们当前内心的想法导致的,但如果我们不去真正了解此刻当下它的想法,只停留在我们的当前的认知当中,这也是一种偏见。所以需要以行见知,因为实践才是检验真理的唯一标准!

🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟

d15c1be776694621a3d65ffc4b8d7b97.jpg

相关文章
|
6月前
|
监控 数据可视化 搜索推荐
商场智能导视系统:3D可视化技术逻辑拆解
本文解析3D可视化后台如何将用户行为数据转化为商场运营决策。通过数字孪生技术、用户画像与路径分析,、招商流程可视化协同,提升效率,推动商场从“经验决策”迈向“数据驱动”,实现智能高效运营。
183 0
|
11月前
|
前端开发 JavaScript Java
【03】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架搭建-服务端-后台管理-整体搭建-优雅草卓伊凡商业项目实战
【03】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架搭建-服务端-后台管理-整体搭建-优雅草卓伊凡商业项目实战
571 13
【03】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架搭建-服务端-后台管理-整体搭建-优雅草卓伊凡商业项目实战
|
Java 关系型数据库 数据库连接
MyBatis-Plus整合SpringBoot及使用
务必记住,随着MyBatis-Plus版本的更新,一些具体的配置和使用方式可能会有所变动。在实际开发过程中,建议参考MyBatis-Plus的官方文档,以获取最新和详细的指导。
374 1
|
传感器 数据安全/隐私保护 数据格式
STM32CubeMX DHT11温湿度传感器
STM32CubeMX DHT11温湿度传感器
1557 11
|
机器学习/深度学习 传感器 算法
构建未来:基于机器学习的智能健康监测系统
【5月更文挑战第12天】 在数字医疗领域,智能健康监测系统的出现正在革新我们对健康管理和疾病预防的理解。本文将探讨一个基于机器学习技术的智能健康监测系统的设计与实现,它能够实时跟踪个体的健康指标并通过预测性分析提前警示潜在的健康问题。通过融合生物统计学、数据挖掘及模式识别等先进技术,该系统旨在为个人用户提供量身定制的健康建议,并为医疗专业人员提供决策支持。文章首先概述了系统框架和关键技术,随后详细讨论了机器学习模型的建立过程以及如何优化这些模型以提高预测的准确性。最后,我们通过实验结果验证了系统的有效性,并讨论了未来的发展方向。
|
存储 SQL 分布式计算
企业数仓架构设计实践
本文是一位数据架构师在设计企业级数据仓库架构时的思考与实践经验分享。从理论基础(数据仓库概念、Lambda架构、Kimball与Inmon方法)到工具选型(如Hadoop、Hive、Spark、Airflow、Tableau等),再到实践过程(需求调研、架构设计、技术选型落地、数据模型设计、测试迭代及用户培训),全面阐述了数仓建设的各个环节。强调了业务理解与技术结合的重要性,并指出数仓建设是一个持续优化、适应业务发展变化的过程。
759 3
|
存储 弹性计算 Cloud Native
阿里云产品免费试用规则介绍及可试用云产品整理
阿里云免费试用活动是阿里云为新手用户提供的免费体验的权益,包括免费云服务器、免费云存储、免费数据库以及AI试用等,旨在为新手开发者提供0成本高质量的上云体验服务,打造开放,敏捷的开发者环境,让企业和个人轻松享受云服务。本文为大家详细介绍下阿里云产品免费试用活动规则及可试用云产品整理,以供参考。
2505 2
阿里云产品免费试用规则介绍及可试用云产品整理
|
前端开发 JavaScript 开发者
Bootstrap 3.x 版本基础引入指南
Bootstrap 3.x 版本基础引入指南
563 0
|
Android开发
Android音量细分
【6月更文挑战第3天】
424 0