Problem A. 下一个

在漫长且无聊的出题过程中,jc 一直苦于怎么出几道毒瘤题恶心一下参赛选手,甚至想到他的 cpu 都快 爆炸了。最终,jc 还是决定大发慈悲,出一道《简单》题。

jc 会扔给你一个神奇的字符,这个字符可能是小写字母,也有可能是大写字母,请你输出这个字符在字 母表中的下一个字符,例如,a 的下一个是 b,A 的下一个是 B。当然了,输出字符的大小写形式需要和 这个字符一致。

如果不存在下一个字符,请输出“non-existent”(不包含引号)。

Input

一个大写字母或一个小写字母。

Output

输出一个字符或“non-existent”(不包含引号)。

签到题,没啥好说的


Problem C. 勇者之塔

2100 年,地球不可再生资源面临枯竭,环境污染问题已严重威胁到人类生活。为了寻找更优的生存环境, 为了探索更佳能源物资,科学家们开始了赛尔机器人的研究工作。这是一个集合了全世界所有优秀科学 家的科研组,联合国给他们提供了最好的研究环境、最丰富的环境资源。在全世界无数双眼睛的关注下, 历经半个世纪“赛尔”终于诞生了,带来了希望和梦想的翅膀。人们将那一年(2170 年)改元为赛尔元 年,以此提醒所有的人,宇宙探索任重而道远。

Leonard 对赛尔号这款游戏如痴如醉。今天,他梦见自己进入了赛尔号的勇者之塔。

由于是梦境的缘故,这里的勇者之塔与现实世界中赛尔号的勇者之塔大不相同。

这个勇者之塔的层数是无尽的,每一层都是一个 n 行 m 列的矩阵。每一个任务的起点都是第一层的 (1, 1), 并且每一步只能走相同的行和相同的列且只能朝向坐标更大的方向,当某一步走出这个矩阵时,就会前 往下一层的 (1, 1),然后继续执行下一步。例如,在一次任务中给定 x = 2,y = 3,当前位置为 (1, 1), 那 么走一步会到达 (1 + x, 1 + y) = (3, 4),如果 (3, 4) 在矩阵之外,就会立即到达下一层的 (1, 1)。 罗杰船长给 Leonard 发布了 q 个任务,每个任务给定 x,y,k,想让 Leonard 求出按以上规则走 k 步会 到达第几层的哪一个点。

笨笨的 Leonard 并不知道,但他还想继续玩下去,聪明的你能帮助他吗?

Input

第一行两个数字 n,m,是这个矩阵的行数和列数。

第二行一个数字 q,是任务的个数。

接下来 q 行,每行三个数字 x,y,k,表示在这个任务中的每一步走的距离和走的次数。

1 ≤ n, m ≤ 109 , 1 ≤ q ≤ 105 , 0 ≤ x, y, k ≤ 109。

Output

输出 q 行,每行三个数字,表示最终位置位于第几层,第几行,第几列。

思路 

这个题的难度主要在优化上,因为每次走向下一层会将位置初始为1,1。

所以只要计算走出一层需要多少步,就可以算出层数,这样就可以只用一层for循环来解决这个问题

下面是ac代码


#include<bits/stdc++.h>
using namespace std;
struct op{int x;int y;int bushu;
}s[100001];
struct ok{int cengshu;int x1;int y1;
}t[100001];
int main(){int m;int n;scanf("%d %d",&m,&n);int q;scanf("%d",&q);for(int i=0;i<q;i++){scanf("%d %d %d",&s[i].x,&s[i].y,&s[i].bushu);}for(int i=0;i<q;i++){int ans=0;int ant=0;int ci=0;if(s[i].x!=0){ans=m/s[i].x+1;if(m%s[i].x==0)ans--;}//计算横着走出一层的步数if(s[i].y!=0){ant=n/s[i].y+1;if(n%s[i].y==0)ant--;}//竖着的ci=min(ans,ant);if(s[i].x==0&&s[i].y!=0){ci=max(ans,ant);}else if(s[i].y==0&&s[i].x!=0)ci=max(ans,ant);
//求出走完一层需要的步数int x2=1,y2=1;int ceng;int cishu;if(ci==0){cishu=0;ceng=1;}else{cishu=s[i].bushu%ci;ceng=(s[i].bushu/ci)+1;} for(int j=0;j<cishu;j++){x2+=s[i].x;y2+=s[i].y;}t[i].cengshu=ceng;t[i].x1=x2;t[i].y1=y2;}for(int i=0;i<q;i++){printf("%d %d %d\n",t[i].cengshu,t[i].x1,t[i].y1);}return 0;
}​

Problem G. 简单的数学

输入n,计算下面这个式子的结果

第一眼看到被这题唬住了,但仔细一想只让输入一个n

再看榜上的做出这题的很多,原来也是个签到题

直接上代码

#include<bits/stdc++.h>
using namespace std;
int main(){int n;cin>>n;int m;m=n%1000000007;cout<<m<<endl;return 0;
}

Problem L. 奥特曼的时间管理

在距离银河系遥远的 M78 星云,奥特曼们建造了他们的家园——光之国。虽然奥特曼们具有无尽的生命, 对于正常人来说漫长的时间对于他们来说只是弹指一挥间。但为了让每个奥特曼尽可能地参悟生命的意 义,奥特议会决定学习人类们记录时间的方式来让每个奥特曼们首先感受到时间的流逝,他们把时间用 时分秒的方式划分出来。 但因为 M78 星云特有的环境与引力环境,导致光之国的自转时间也与地球的自转时间不同。为了应对不 同的情况,奥特议会设立 1 分钟有 z 秒钟,1 小时有 y 分钟,1 天有 x 小时。 奥特能源中心是光之国十分重要的部门之一,他负责给所有奥特曼提供所需的能源。因为每个奥特曼的 能力不同与职位不同,他们充取能源的持续时间和开始时间都可能不同。负责给奥特曼提供能源的是一 个巨大的能源仓,它可以同时支持多位奥特曼充取能源。因为能源所蕴含的能量过于丰沛,所以无论给多 少(至少一位)奥特曼提供能源,每秒消耗能源量都不变。当一名奥特曼充取能源完成后 k 秒以后如果 没有奥特曼再次充取能源,则能源仓停止提供能源,在这 k 秒中,即使没有奥特曼充取能源,能源仓依 旧提供能源。 为了支持奥特议会宣布的时间计划,奥特能源中心决定统计每天 (00 : 00 : 00) − (x − 1 : y − 1 : z − 1) 统 计消耗多少能源,现给你 n 位奥特曼的充取能量情况与每秒钟消耗能源量。请你输出当天能源消耗量。

Input

第一行输入六个整数 n, x, y, z, k, val , n 代表当天充取能量的奥特曼的数量, x 代表一天有 x 小时, y 代 表一小时有 y 分钟, z 代表一分钟有 z 秒钟, k 代表 k 秒钟后停止提供能源, val 代表每秒提供能源数。 (1 ≤ n ≤ 106 , 10 ≤ x, y, z ≤ 99, 1 ≤ k ≤ 102 , 1 ≤ val ≤ 106 ) 接下来 n 行 每行两个字符串 sa, sb, sa 代表第 i 位奥特曼充取能源的开始时间, bi 代表第 i 位奥特曼充取能源的结束 时间。注意:充取能源的开始时间和结束时间奥特曼都在充取能源(左右闭区间)。 为了便于读入,每个数字都采取了补零至两位的方式,且冒号均为英文符号。 保证每位奥特曼充取能源的开始时间不晚于结束时间。 不保证每位奥特曼充取能源的时间范围没有交集。

Output

输出共一行 输出当天能源消耗量

 思路

将时间都转换为秒,然后多个输入的时间区间进行合并

另外还需注意超出一天的范围要减去

放上代码

#include<bits/stdc++.h>
using namespace std;
struct op{long long kaishi;long long jieshu;
}t[1000006];
struct ok{long long k1;long long k2;
}u[1000006];
bool cmp(op a,op b){if(a.kaishi!=b.kaishi)return a.kaishi<b.kaishi;elsereturn a.jieshu<b.jieshu;
}
int main(){int n, x, y, z, k, val;string sa,sb;cin>>n>>x>>y>>z>>k>>val;long long tian=x*y*z-1;for(int i=0;i<n;i++){cin>>sa>>sb;t[i].kaishi=((sa[0]-'0')*10+sa[1]-'0')*y*z+((sa[3]-'0')*10+sa[4]-'0')*z+(sa[6]-'0')*10+sa[7]-'0';t[i].jieshu=((sb[0]-'0')*10+sb[1]-'0')*y*z+((sb[3]-'0')*10+sb[4]-'0')*z+(sb[6]-'0')*10+sb[7]-'0'+k;if(t[i].jieshu>tian){t[i].jieshu=tian;}}sort(t,t+n,cmp);int ant=0;int ans=0;for(int i=1;i<n;i++){if(t[i].kaishi<=t[i-1].jieshu){t[i].kaishi=t[i-1].kaishi;t[i].jieshu=max(t[i-1].jieshu,t[i].jieshu);ans++;}}
//  cout<<ans<<endl;for(int i=n-1;i>=ans;i--){
//      cout<<1<<endl;u[ant].k1=t[i].kaishi;u[ant].k2=t[i].jieshu;
//      cout<<u[ant].k1<<endl<<u[ant].k2<<endl;ant++;}long long sum=0;for(int i=0;i<ant;i++){sum+=(u[i].k2-u[i].k1+1)*val;}cout<<sum<<endl;
}   

参加2022 年第四届齐鲁工业大学(山东省科学院)与山东师范大学ICPC 大学生程序设计竞赛的总结相关推荐

  1. 第二届齐鲁工业大学(山东省科学院)与山东师范大学ICPC大学生程序设计竞赛联赛 [官方题解]

    题目目录 A. A+B Problem B. 77777 C. Merge D. 魔法少女:承 E.学妹的任务 F. AKIE's Penalty G. A-B Problem H. 翻转队列 I. ...

  2. 齐鲁工业大学计算机应用技术研究生专业,研究生培养

    总体介绍 实验室与高校加强产学研合作,致力于为社会培养和输送高水平.复合型的信息化人才.从2003年开始与齐鲁工业大学.山东科技大学高等院校合作,联合开办硕士点:2017年起,在齐鲁工业大学和山东省科 ...

  3. 齐鲁工业计算机考研分数线,齐鲁工业大学2021考研分数线已公布

    2021考研国家线已公布,接下来迎来的是考研复试分数线,复试分数线决定游走在边缘的考生是否能够顺利进入复试环节,中公考研为大家整理"齐鲁工业大学2021考研分数线已公布",一起关注 ...

  4. 计算机学院新增电子信息!齐鲁工业大学

    齐鲁工业大学是一所双非大学,位于山东省济南市.齐鲁工业大学计算机学科评估没有,软件工程学科评估也没有,计算机实力在双非中并不强.今年齐鲁工业大学计算机考研有些变化.我们先看看去年的招生目录: 齐鲁工业 ...

  5. 齐鲁工业大学计算机考研资料汇总

    齐鲁工业大学研招网 http://yjszs.qlu.edu.cn/ 齐鲁工业大学(山东省科学院)(Qilu University of Technology),位于山东省济南市,是山东省重点建设的应 ...

  6. 齐鲁工业大学计算机科学与技术学院院长,齐鲁工业大学计算机科学与技术学院导师教师师资介绍简介-赵盛荣...

    齐鲁工业大学计算机科学与技术学院导师教师师资介绍简介-赵盛荣本站小编 Free考研考试/2020-12-20 姓名 赵盛荣 性别 女 出生年月 1986.09 学历 博士研究生 毕业时间 2016.0 ...

  7. 2023齐鲁工业大学计算机考研信息汇总

    齐鲁工业大学研招网 http://yjszs.qlu.edu.cn/ 齐鲁工业大学(山东省科学院)(Qilu University of Technology),位于山东省济南市,是山东省重点建设的应 ...

  8. 齐鲁工业大学计算机科学与技术学院院长,齐鲁工业大学校友会计算机科学与技术学院校友会分会成立...

    为广泛联络省内外校友,搭建校友与母校交流沟通的平台,增进校友与母院之间的联系.2020年12月26日,齐鲁工业大学计算机科学与技术学院在图书馆五楼报告厅举行校友会分会成立大会.学校(科学院)副校(院) ...

  9. 齐鲁工业大学计算机读研,齐鲁工业大学考研难吗

    齐鲁工业大学考研难吗? 1.齐鲁工业大学考研难度算是比较容易.不在大学考研难度排名前100名单之内. 2.考研究生难易程度还是看招生院校的地域.名气.排名等因素,生源不同,竞争力度也不同.发达地区特别 ...

  10. 新增数学与人工智能学部,考数据结构!齐鲁工业大学(山东省科学院)计算机考研...

    齐鲁工业大学位于山东省济南市,是一所双非大学.齐鲁工业大学计算机学科评估没有,软件工程学科评估也没有,计算机实力不强.2017年,齐鲁工业大学和山东省科学院合并,因此校名后面有了括号. 齐鲁工业大学前 ...

最新文章

  1. UpdatePanel 内的RadioButton 还是会刷新页面
  2. matlab逆变换法产生随机数_matlab数值积分方法(一)
  3. spring security只要熟悉每个filter的作用和顺序
  4. 班级日常分享 | 一天一瞬间!
  5. PHP提高性能的几个Tips
  6. ev3 android,乐高®头脑风暴教育机器人EV3编程
  7. Duplicate entry '' for key 'username'
  8. 单片机仿真软件Proteus安装时遇到的问题
  9. 数据类型不一致: 应为 NUMBER, 但却获得 BINARY
  10. Java多文件生成并压缩下载
  11. Vue页面跳转动画效果实现
  12. python异常大总结
  13. 谷歌在新标签页打开搜索结果(超级新手)
  14. 图像加噪与滤波处理(python+opencv)
  15. JAVA面向对象编程学习 (1)语法基础与类与对象
  16. 360安全卫士大战“病毒之王”——最新磁碟机变种
  17. python+opencv代码给证件照换底色(别再用PS啦)
  18. 用Python实现跳一跳自动跳跃
  19. Neat Reader安装使用
  20. 编程规范和范例(转)-续

热门文章

  1. 基于微型计算机系统的报警器设计,防盗报警器的设计毕业设计分析.doc
  2. mssql2000 mysql_MSSQL2000使用帮助
  3. 扫描电子显微镜(SEM)低真空技术改造以提升观测能力的解决方案
  4. 塔米狗知识|企业合并和企业并购是一样的吗?
  5. 《东周列国志》第四十五回 晋襄公墨缞败秦 先元帅免胄殉翟
  6. Bat脚本-timeout 命令
  7. RCTF crypto100(1)
  8. fatal: couldn‘t find remote ref develop-XXXX fatal: the remote end hung up unexpectedly
  9. html css 扑克牌桌面,CSS Card:纯css制作扑克牌
  10. android dropbox sdk,Android Dropbox SDK清单设置