资源简介 全国青少年信息学奥林匹克竞赛CCFNOI2018第二试时间:2018年7月20日08:00~13:00题目名称屠龙勇士情报中心多边形题日类型传统型传统型传统型目录dragoncenterpolygon可执行文件名dragoncenterpolygon输入文件名dragon.incenter.inpolygon.In输出文件名dragonoutcenter.outpolygon.out每个测试点时限20秒8.0秒10.0秒内存限制512MB512MB512MB测试点/包数目202020测试点是否等分是是是提交源程序文件名对于C++语言dragon.cpcenter.cpppolygon.cpp对于C语言dragon.ccenter.cpolygon.C对于Pascal语言dragon.pascenter.paspolygon.pas编译选项对于C++语言02-1m对于C语言02-1m对于Pascal语言-02注意事项:1、提交的源文件必须存放在已建立好的下发样例的文件夹中(该文件夹与试题同名)。2、文件名(包括程序名和输入输出文件名)必须使用英文小写。3、结果比较方式为忽略行末空格、文末回车后的全文比较。4、C/C++中函数main(的返回值类型必须是int,值为0。全国青少年信息学奥林匹克竞赛第二试屠龙勇士(dragon)屠龙勇士(dragon)【题目描述】小D最近在网上发现了一款小游戏。游戏的规则如下:游戏的目标是按照编号1-n顺序杀掉n条巨龙,每条巨龙拥有一个初始的生命值a;。同时每条巨龙拥有恢复能力,当其使用恢复能力时,它的生命值就会每次增加p;,直至生命值非负。只有在攻击结束后且当生命值恰好为0时它才会死去。游戏开始时玩家拥有m把攻击力已知的剑,每次面对巨龙时,玩家只能选择把剑,当杀死巨龙后这把剑就会消失,但作为奖励,玩家会获得全新的一把剑。小D觉得这款游戏十分无聊,但最快通关的玩家可以获得ION2018的参赛资格,于是小D决定写一个笨笨的机器人帮她通关这款游戏,她写的机器人遵循以下规则每次面对巨龙时,机器人会选择当前拥有的,攻击力不高于巨龙初始生命值中攻击力最大的一把剑作为武器。如果没有这样的剑,则选择攻击力最低的一把剑作为武器。●机器人面对每条巨龙,它都会使用上一步中选择的剑攻击巨龙固定的x次,使巨龙的生命值减少x×ATK。之后,巨龙会不断使用恢复能力,每次恢复p;生命值。若在使用恢复能力前或某一次恢复后其生命值为0,则巨龙死亡,玩家通过本关。那么显然机器人的攻击次数是决定能否最快通关这款游戏的关键。小D现在得知了每条巨龙的所有属性,她想考考你,你知道应该将机器人的攻击次数x设置为多少,才能用最少的攻击次数通关游戏吗?当然如果无论设置成多少都无法通关游戏,输出-1即可。【输入格式】从文件dragon.,in中读入数据。第一行一个整数T,代表数据组数。接下来T组数据,每组数据包含5行。每组数据的第一行包含两个整数,n和m,代表巨龙的数量和初始剑的数量接下来一行包含n个正整数,第i个数表示第i条巨龙的初始生命值接下来一行包含n个正整数,第i个数表示第i条巨龙的恢复能力p;●接下来一行包含n个正整数,第i个数表示杀死第i条巨龙后奖励的剑的攻击力接下来一行包含m个正整数,表示初始拥有的m把剑的攻击力。 展开更多...... 收起↑ 资源预览