华为杯程序设计大赛.doc





《华为杯程序设计大赛.doc》由会员分享,可在线阅读,更多相关《华为杯程序设计大赛.doc(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-问题 A: 天梯评分系统题目描述在一个下雨的日子,沈学姐和四个好基友约定无事一同打dota(dota是一个5对5 MOBA类游戏)因为想证明谁最NB,他们就全部注册新号去爬天梯了。天梯有一套完整的评分系统,它可以根据每位选手每局的数据进行评分,因为dota的英雄既有辅助又有ganker还有后期,所以不同的英雄的评分标准不一样。可惜那天天梯服务器维护,无法进行评分。于是,他们记录下每一局的数据,找你来帮忙,希望你能够帮他们仿照天梯编一个评分系统,以便于他们比较谁是真正的神牛。已知对于每个账号每个英雄的初始积分都是1200分,并且该账号的天梯积分是所有使用过的英雄的积分的加权平均数(按次数加权,
2、最终用整除)。每局一个英雄的数据包括主数据(杀敌/死亡/助攻)和附数据(破塔/正补/反补),你会得到所出现的英雄的主数据评分标准。此外还会根据附数据评出MVP,英魂,富豪,破军,偏将,补王的称号,每个称号都有一个得分。而每局英雄的最终得分是由胜负、初始积分、主数据得分和附数据得分决定的。主数据得分:每个英雄都有对应的x,y,z三个评分参数。主数据得分是:杀敌数*x+死亡数*y+助攻数*z胜负得分:胜利不影响正常的分,失败方额外扣去200分;附数据得分:MVP:胜利方主数据得分最高者获得MVP,额外得到20分;英魂:失败方主数据得分最高者获得英魂,免去失败扣分;以下称号仅胜利方获得:富豪:每个正
3、补得到40金钱,每个杀敌得到250金钱,每次死亡失去100金钱,每次破塔得到450金钱,每局游戏获得金钱最多者获得富豪,额外得到10分;破军:破塔最多者获得破军,额外得到10分;偏将:助攻最多者获得偏将,额外得到10分;补王:反补最多者获得补王,额外得到10分;最终得分=初始积分+主数据得分+附数据的分+胜负得分;输入第一行为一个整数T,代表有T组数据。对于每组数据:第一行一个整数n (n=15),代表所要用到的n个英雄主数据评分标准;第2到n+1行,第i行三个整数x,y,z(0x,z=10,-10=y0,x+z=10),代表编号为i-1的英雄的评分参数。第n+2行一个整数m (m=5),代表
4、玩的局数,n+3行到第n+m*6+3行每6行为一组,共m组代表m局游戏,每组第一到第五行代表每局游戏第一个人到第五人的数据,每一行7个正整数,h代表此局该人使用的英雄编号,a,b,c,d,e,f(a,b,c=20,d=11,e,f=100),代表杀敌/死亡/助攻/破塔/正补/反补,第六行一个数,0代表失败,1代表胜利。输出对于第i组数据先输出一行“Case #i:”(不含引号)接下来输出五行,每行一个数,第i行为第i个人的最终天梯积分。样例输入1 5 8 -8 2 2 -3 8 9 -5 1 5 -5 5 4 -6 6 1 1 9 1 5 4 90 20 2 1 4 9 0 14 10 3 1
5、1 4 2 2 58 44 4 6 2 4 1 33 31 5 7 4 6 1 22 24 1 样例输出Case #1: 1294 1272 1311 1240 1240 提示问题 B: 三体问题题目描述沈学姐是一个科幻小说爱好者,最近她读了三体,喜欢数学的学姐对三体问题产生了兴趣。当然,学姐并不想去算某颗行星的轨道。她把整个三体星系简化为一个平面,三颗恒星的球心投影成平面上的三点,每颗恒星都有一个半径为r的圆形引力场(r由恒星自身属性决定)。学姐想知道,三颗恒星的引力场总面积是多少。输入第一行为一个整数T,表示数据组数。每组数据有三行输入:每行有三个数x,y,r(保留两位小数),分别为该恒星
6、中心坐标(x,y)和引力场半径r。(|x|=5,|y|=5,0=r=5)输出对于第i组数据,输出一行,形如“Case #i: ans”(不含引号)其中,ans表示引力场总面积,保留整数部分(因为学姐不想太难)。样例输入2 0.00 0.00 1.00 0.00 2.00 1.00 2.00 0.00 1.00 0.00 0.00 5.00 1.00 1.00 2.22 2.00 0.00 1.00 样例输出Case #1: 9 Case #2: 79问题 C: 男票管理系统题目描述“学姐,你有多少男票啊?”学妹好奇地问。“不知道啊,太多了”,沈学姐无奈地说,“不过我有一个男票管理系统,我给你权
7、限去登录看看。作为交换,你得帮我维护啊。”学妹登录之后,发现学姐有n个男票(n=1000)。每个男票在学姐心中都有一个好感度x(1=x=100000),任意两个男票的好感度都不同。所谓维护任务呢,就是把所有男票按好感度从高到低排序。由于这个系统直接套用了大一同学写的模板,一次只能交换相邻两个男票的信息。学妹表示很无语,她想请你帮忙算一下完成维护任务一共需要交换多少次。输入第一行一个整数T,表示有T组数据。对于每组数据,共两行:第一行为一个整数n,表示男票数量。第二行为n个整数,表示每个男票的好感度。输出对每组数据输出一行,形如”Case #i: ans”(不含引号)i表示数据组数,ans表示所
8、需交换次数。样例输入2 5 5 4 3 2 1 5 3 4 1 2 5 样例输出Case #1: 0 Case #2: 6问题 D: 男票的名字题目描述学妹知道了学姐的男票信息后,又好奇地问:“学姐,那你又拒绝过多少可爱的男孩子啊?”“还是不知道啊,太多了”,沈学姐无奈地说,“但是那些被我拒绝的人,都有一个特点,他们的名字我不喜欢。反正我也给你我的男票管理系统权限了,自己看吧。”而你作为一个爱慕学姐的男/女孩子,通过学妹搞到了那份学姐讨厌的人的名单,你想根据这份名单给自己取个新名字,新的名字应该是你的名字里尽可能短的子串(连续),同时不是学姐讨厌的人的名字的子串。输入第一行一个整数T(1=T=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 华为 程序设计 大赛

限制150内