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