安徽省第六届安徽省大学生程序设计竞赛题目.docx
- 文档编号:7140787
- 上传时间:2023-01-21
- 格式:DOCX
- 页数:13
- 大小:41.12KB
安徽省第六届安徽省大学生程序设计竞赛题目.docx
《安徽省第六届安徽省大学生程序设计竞赛题目.docx》由会员分享,可在线阅读,更多相关《安徽省第六届安徽省大学生程序设计竞赛题目.docx(13页珍藏版)》请在冰豆网上搜索。
安徽省第六届安徽省大学生程序设计竞赛题目
安徽省第六届大学生程序设计竞赛
比
赛
题
目
安徽省高等学校计算机教育研究会
安徽合肥
:
()
问题描述
盖伦是个小学一年级的学生,在一次数学课的时候,老师给他们出了一个难题:
老师给了一个正整数,需要在不大于的范围内选择三个正整数(可以是相同的),使它们三个的最小公倍数尽可能的大。
盖伦很想第一个解决这个问题,你能帮助盖伦拿到“”吗?
输入
首先是一个正整数,表示有组测试数据
每组测试数据是一个正整数(<<^)
输出
对于每组测试数据,输出最大的最小公倍数,每个输出单独占一行
样例输入
样例输出
注意事项
数据范围超出位整数,可用或表示位整数
求和
:
()
问题描述
对于正整数,我们定义这样一个函数
,它满足如下规律
现在给出和,你的任务就是要计算
的值。
输入
首先是一个整数,表示有组数据
接下来每组数据是和(
)
输出
打印出(,)的值,每个输出单独占一行
样例输入
样例输出
的困惑
:
()
问题描述
非常喜欢数学,现在有个问题:
在二维空间上一共有个点,每连接俩个点,就会确定一条直线,对应有一个斜率。
现在把平面上所有点中任意两点连接成一条线,并将这条线的斜率加入一个集合(若斜率不存在则不计入集合),他想知道这个集合中有多少元素。
输入
第一行是一个整数,代表组测试数据。
每组数据第一行是一个整数,代表点的数量,且<<。
接下来行,每行两个整数,<<,<<,代表点的坐标
输出
输出斜率集合中有多少个元素
样例输入
样例输出
锐雯上单不给就送
:
()
问题描述
《英雄联盟》(简称)是由美国开发,腾讯游戏运营的英雄对战网游。
《英雄联盟》除了即时战略、团队作战外,还拥有特色的英雄、自动匹配的战网平台,包括天赋树、召唤师系统、符文等元素。
简单来说,是两队的对战游戏,一个队伍(个人)对抗另一个队伍(个人),主要目的是拆掉对面的建筑物,一个每个队伍的英雄都扮演着不同的角色,分别为“上单”,“打野”,“中单”,“辅助”,“”,通常的情况是各自队伍的“上单”“上单”,“打野”“打野”,“中单”“中单”,“辅助”“辅助”,“”“”。
上单在中一直是一个很吃香的角色,一般小学生进入匹配以后都会强调一句“锐雯上单不给就送”作为联络暗号。
和经常玩这个游戏,是的宿敌,很想知道玩的什么角色,然后他就选同样的角色和决斗()。
经过观察发现选择什么角色是有规律的,那就是取决于上一次他玩的什么角色。
现用一个*的矩阵来表示,
表示上一次如果玩的是第个角色,那么他这一次玩第个角色的概率为
,另外有
。
现在知道第一次玩的是什么角色,想知道在第次游戏中,最有可能玩的是什么角色。
输入
首先是一个整数,表示有组数据
每组数据包括
第一行是一个数字
,表示想知道第次游戏中最可能玩的角色,
接下来会给出*的矩阵表示概率关系.
最后一行给出整数(
)表示第一次游戏玩的角色,角色表示方法见注意事项。
输出
输出第次游戏中,最有可能玩的角色,角色表示方法见注意事项,每个输出单独占一行
样例输入
样例输出
注意事项
分别代表“上单”,“打野”,“中单”,“辅助”,“”这五个角色,如果存在多个角色的概率相同的话,那么就选择下标最小的那个,比如经过计算,的概率都是,那么会选择这个角色。
瓦莉拉的小伙伴(选做)
:
()
问题描述
《炉石传说》是暴雪公司出品的一款卡牌类对战游戏,俗话说暴雪出品必属精品,《炉石传说》集休闲性与竞技性于一体,是科研之余烧脑休闲的必备神器。
是一个土豪玩家,充了很多钱组了一套刀油贼,这是一套对技术要求很高的瞬间爆发斩杀型牌组,但是的技术实在太菜了,连小学生的算术都做不好,并不能在天梯中快速上分。
在一旁看不下去了,决定帮一把,计算此时能否斩杀对方,赢得比赛胜利。
如果你没有玩过《炉石传说》,下面是游戏的规则。
、对战在两个玩家之间展开,每个玩家扮演一个英雄,每个英雄有一些血量,当某个英雄血量降为或以下的时候扮演他的玩家就输了,对方玩家获得胜利。
、玩家之间每回合轮流打出一些牌,每张牌消耗一定的法力值,每个英雄每回合总的法力值是有限的,该回合打出的牌的法力值总消耗不能超过该回合英雄持有的法力值。
、玩家可以打出的牌分为随从和法术牌。
、随从牌可以在场上打出随从,每个随从拥有攻击力和血量,可以攻击对方随从或英雄。
若攻击对方英雄,对方英雄失去相应的血量;若攻击对方随从,两随从进行比较,双方随从血量都要减去对方攻击力造成的伤害,若随从血量降为或以下则该随从死亡。
例如我方场上有一个攻击力血量的随从,对方场上有一个攻击力血量的随从,敌方随从攻击我方随从,双方随从都会死亡。
、每个随从每回合只能攻击一次,且在一般情况下,当回合上场的随从不能展开攻击。
但是随从可以有一些属性,此处考虑的属性为冲锋和嘲讽。
拥有冲锋属性的随从上场的当回合可以立刻展开攻击。
当场上具有嘲讽属性的随从时,对方英雄和随从攻击时必须先攻击该嘲讽随从,直至该嘲讽随从死亡才能攻击其他随从和英雄。
(法术牌不受嘲讽效果影响,如果卡牌效果允许则法术牌可以选择任意目标)
、法术牌不在场上打出随从,但是拥有各种各样的效果,后面会具体讲解一些法术牌的效果。
、你控制的英雄是潜行者瓦莉拉,她有一些特殊的职业专属效果。
比如每回合她可以使用点法力值的英雄技能一次(每回合只能使用英雄技能一次),获得一把攻击力为,耐久度为的匕首,使用这把匕首英雄可以攻击对方随从或英雄,对其造成等同于匕首攻击力的伤害;若攻击对象是对方随从,瓦莉拉会受到等同于对方随从攻击力的伤害(如果瓦莉拉血量小于对方随从攻击力瓦莉拉还会死亡)。
每回合最多只能使用匕首攻击一次,且攻击一次后匕首耐久度降低点,若匕首耐久度降为或以下该匕首会被摧毁。
、潜行者还有一个特殊的职业特性是连击,若她的某张法术牌有连击特性,那么如果你在打出该张卡片前打出过其他卡片,就能触发卡片的连击效果。
例如某张法术牌的效果是“对敌方英雄造成点伤害;连击:
对敌方英雄造成点伤害”,那么这一回合你只打出这张法术牌,能对敌方英雄造成点伤害,但是如果你在打出这张法术牌前使用了其他的随从或法术牌,然后再打出这张牌,就能对敌方英雄造成点伤害。
连击必须由卡片触发,英雄技能并不能触发连击。
本题中你扮演英雄瓦莉拉,当前是你的行动回合,你的场上没有随从,也未装备匕首,对方场上可能会有一些随从,这些随从都带有嘲讽属性。
题目会给出当前对方英雄的血量,以及你的英雄血量,可用法力值,手牌中的随从和法术牌情况,对方场上的随从情况。
请你计算在当前回合能否通过使用英雄技能和一套最优的出牌顺序,在自己英雄不死亡的前提下,将对方英雄血量击杀到或以下,完成斩杀。
你可能拥有的卡牌为:
、南海船工:
消耗法力值,攻击力,血量,特效:
在你正装备一把匕首时获得冲锋,否则不冲锋(你唯一可能拥有的随从牌,并且最多可能拥有张,你的其余牌都是法术牌)
、伺机待发:
消耗法力值,特效:
本回合中你施放的下一个法术牌的法力值消耗减少点,但不小于点
、致命药膏:
消耗法力值,特效:
使你的匕首增加点攻击力(若使用时没有装备匕首则无效果但仍消耗法力值)
、剑刃乱舞:
消耗法力值,特效:
摧毁你的匕首,对敌方英雄和所有敌方随从角色造成等同于匕首攻击力的伤害(若使用时没有装备匕首则无效果但仍消耗法力值)
、刺骨:
消耗法力值,特效:
对敌方英雄或任意一个敌方随从造成点伤害;连击:
对敌方英雄或任意一个敌方随从造成点伤害
、闷棍:
消耗法力值,特效:
将一个指定的敌方随从闷回对方手牌中。
(必须对敌方随从使用,若敌方场上没有随从则无法使用)
、修补匠的磨刀油:
消耗法力值,特效:
使你的匕首增加点攻击力(若使用时没有装备匕首则无效果但仍消耗法力值);连击:
使你的匕首增加点攻击力,同时使一个随机的我方随从增加点攻击力(若使用时没有装备匕首则只增加随从的攻击力)
输入
首先是一个正整数(<<)
接下来是组数据
每组数据第一行是两个正整数(<<),表示敌方英雄的剩余血量,表示我方英雄的剩余血量
下面一行是一个正整数(<<),表示我方英雄该回合可用的法力值
下面一行是一个整数(<<),表示该回合我方可用的手牌数量
下面一行有个正整数,每个正整数表示我方拥有的手牌,和题目描述中的对应,例如为,就表示我方当前拥有两张南海船工和两张伺机待发(若即没有手牌时没有这一行输入)
下面一行是一个整数(<<),表示敌方场上的随从数量,若等于则输入结束,若>,下面是行,每行有两个整数用来表示一个敌方随从(所有敌方随从默认具有嘲讽属性),(<<)表示该随从的攻击力,(<<)表示该随从的血量
输出
对每组数据表示的场面,若通过特定的出牌顺序可以完成斩杀,输出“”,若并不能完成斩杀,输出“”,每个输出单独占一行
样例输入
样例输出
多重部分和问题
:
()
问题描述
有种不同大小的数字
,每种各
个。
判断是否可以从这些数字之中选出若干使它们的和恰好为。
输入
首先是一个正整数(<<)
接下来是组数据
每组数据第一行是一个正整数(<<),表示有种不同大小的数字
第二行是个不同大小的正整数
(<
<)
第三行是个正整数
(<
<),表示每种数字有
个
第四行是一个正整数(<<)
输出
对于每组数据,如果能从这些数字中选出若干使它们的和恰好为,则输出“”,否则输出“”,每个输出单独占一行
样例输入
样例输出
你来擒孟获
:
()
问题描述
三国时期,南蛮王孟获叛乱,诸葛亮起兵平乱。
当深入南蛮之地时,遇当地人绘得地图,发现各地分别由各个寨主据守,若诸葛亮想兵分多路进军,尽快占领各个山寨(必须占领所有山寨),并且最终所有士兵都汇聚到孟获所在山寨,若给你一次穿越的机会,你用程序告诉诸葛亮最少需要多少天才能完成任务。
假设军队足够多,各分队行军速度一样,且诸葛亮神机妙算,到达每个山寨即日可以攻克。
输入
首先是一个正整数,接下来是组测试数据,每组数据第一行是两个整数(<<<<),表示山寨数量和山寨间的道路数量,山寨编号,,,…
接下来行,每行三个整数(<<且<^),分别表示山寨和山寨之间有一条路,在这条路上需要行军天,接下来一行两个整数(<<),分别表示诸葛亮所在部队的起点和孟获山寨所在终点的编号。
输出
对每组数据输出一个整数,表示诸葛亮的士兵占领所有山寨并汇聚到孟获所在山寨所需要的最少天数,每个输出独占一行
样例输入
样例输出
数
:
()
问题描述
数是一个简单的饭桌游戏,有数人围成一桌,先从任意一人开始数数,、、……那样数下去,逢到的倍数(、、……)和含有的数字(、……)必须以敲桌子代替。
如果有谁逢却数出来了,就要接受惩罚。
小明觉得这个游戏太简单了,于是对它做出了改进,那就是每逢到素数的时候就以敲桌子代替,并且数数的方向发生改变,而且最开始的那个人可以从到
中选一个合数,开始数数。
假设现在有个人,第一个人的编号为,他选择开始数,由于不是素数,那么就是说,轮到下一个编号为的人来数,由于是素数,敲桌子(),由于是素数,顺序发生变化,现在又轮到说,然后以此类推敲桌子(),说,说…一直到某人出现错误为止。
小明想知道轮到自己的时候应该干什么,你能够帮小明解决这个问题吗?
输入
首先是一个整数,表示有组数据,接下来每组数据第一行会给出和(
),分别表示饭桌上有个人,小明的编号是,第二行会给出和(
),分别表示从编号为的人开始,并且选择合数开始数数
输出
输出轮到小明的时候他应该干什么,如果是说数字就把该数字输出,如果是敲桌子就输出“”,每个输出单独占一行
样例输入
样例输出
注意事项
假如从第个人开始,如果没有改变方向,下一个人就是或者,否则就是或
梯田
:
()
问题描述
土豪在一块小岛上有着一大片*的梯田,每块*的梯田都有它的高度。
奴隶们不甘被剥削,他们联合起来决定发动一场海啸淹掉的梯田,因为要留一部分给自己吃,所以他们决定至少淹掉块田地,但是不能超过块田地,否则会因为剩下的田地不够而把奴隶自己饿死。
现在给你一个*的矩阵,矩阵中的元素代表梯田中每块田地的高度,求能否发动一场高度为的海啸,满足奴隶们的要求。
由于发动海啸代价很高,所以如果存在多个解,请输出最小的一个,否则输出。
当梯田高度及其周围方向梯田高度均小于等于海啸高度时,认为梯田被淹。
输入
第一行是一个正整数,代表数据组数
对于每组数据,第一行为四个整数,,,
之后是一个*的矩阵,矩阵中每个数代表每块梯田高度
<<
<<
<<<*
<梯田高度<
输出
对于每组数据,如果能找到,请输出最小的,否则输出
每组输出占一行
样例输入
样例输出
镜像树
:
()
问题描述
一棵二叉树,若其与自己的镜像完全相同,就称其为镜像树(即这棵二叉树关于根完全对称)。
例如
是一棵镜像树;
而
不是镜像树。
现给你一棵二叉树,请你判断其是不是镜像树。
输入
第一行是一个整数数,表示测试数据有组
每组数据第一行是一个正整数(<<),表示二叉树中节点的数量
下面行,每行有三个正整数(<<<<),表示以编号的节点为父节点,它的左孩子节点编号为,右孩子节点编号为,若表示没有左孩子节点,表示没有右孩子节点,树的根节点是编号为的节点,节点的编号都>(保证数据中给出的二叉树拓扑结构是合法的)
下面一行是个正整数(<<),表示编号为的节点的值。
输出
若数据中表示的二叉树是镜像树,输出“”,否则输出“”,每个输出单独占一行
样例输入
样例输出
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 安徽省 第六 大学生 程序设计 竞赛 题目