2692: 我得重新集结部队
2692: 我得重新集结部队
时间限制: 1 Sec 内存限制: 128 MB
提交: 685 解决: 146
[状态] [讨论版] [提交] [命题人:admin]题目描述
为了保护科普卢星区的和平,大主教阿塔尼斯每时每刻都在指挥部队抗击肆虐的虫群。最近,阿塔尼斯把目光投向了又一颗布满虫群的星球。在这次行动中,阿塔尼斯计划使用狂热者铲除星球上的虫群威胁。
狂热者是星灵的基本近战兵种,每个狂热者有一个攻击力 atk 和一个攻击范围 r。在狂热者发动攻击时,他会冲向距离最近的异虫,在这只异虫处释放 3 次威力强大的旋风斩。若有多只距离最近的异虫,他会选择最早出现的那只。若当前没有存活的异虫,那么这只狂热者会在原地释放旋风斩。每次旋风斩会对所有与攻击者距离小于等于 r 的异虫进行攻击,对每只异虫造成 atk 的伤害(生命值减少 atk)。
当然,这些异虫也是不好惹的。每只异虫具有初始生命值 h,当生命值小于等于 0 时,该异虫将会死亡(并离开战场)。但是,在一次攻击中,若一只异虫受到 3 次旋风斩后仍未死亡,那么它将会对进攻的狂热者进行反击,使这个狂热者不得不离开战场。
在整个战役中,按照时间顺序依次发生了 n 个事件,事件有以下两种:
- 异虫出现。一只初始生命值为 h 的异虫单位出现在 (x,y)坐标。
- 折跃狂热者。一个狂热者被折跃到了 (x,y) 坐标,冲向距离最近的异虫(若存在)并发动 3 次旋风斩。若此后该狂热者没有受到反击,那么他将会一直留在战场,但是不会继续进行攻击。
你作为阿塔尼斯的副官,想知道战场的最终情况:每个狂热者是否离开了战场,以及每只异虫是否死亡。
输入
第一行包含一个整数 n (1≤n≤2×103),代表事件的数量。
接下来 n 行,每行给出一种事件,格式为以下两种之一:
1 x y h,代表一个生命值为 h 的异虫出现在了坐标 (x,y)。
2 x y atk r,代表一个攻击力为 atk,攻击半径为 r 的狂热者被折跃到了坐标 (x,y),并立即进行攻击。
上述所有的x,y,r 均为整数,满足 0≤∣x∣,∣y∣,r≤108;所有的 atk,h 均为整数,满足 1≤atk,h≤108。输出
输出 n 行,第 i 行表示第 i 个事件中出现的异虫或狂热者最终是否留在战场。Yes 表示异虫未死亡或狂热者未离开战场,No 表示异虫死亡或狂热者离开战场,大小写不敏感。
样例输入 Copy
5 1 0 0 4 1 0 1 8 2 1 0 1 1 2 1 0 1 1 2 1 0 1 1样例输出 Copy
No No No No Yes提示
在样例中,发生了如下事件:
- 事件 1 中,在 (0,0)处出现了一只异虫,其生命值为 4。
- 事件 2 中,在 (0,1)处新出现了一只异虫,其生命值为 8。
- 事件 3 中,在 (1,0) 处折跃一只攻击力为 1,攻击半径为 1 的狂热者,他移动到坐标 (0,0) 后,发动 3 次旋风斩。异虫 1,2 分别剩余生命值 1,5,随后狂热者受到反击离开战场。
- 事件 4 中,在 (1,0) 处折跃一只攻击力为 1,攻击半径为 1 的狂热者,他移动到坐标 (0,0) 后,发动 3 次旋风斩。异虫 1 死亡,异虫 2 剩余生命值 2,随后狂热者受到反击离开战场。
- 事件 5 中,在 (1,0) 处折跃一只攻击力为 1,攻击半径为 1 的狂热者,他移动到坐标 (0,1) 后,发动 3 次旋风斩。异虫 2 死亡,狂热者留在战场。
因而,最终所有异虫死亡,只有狂热者 5 留在战场。
来源/分类
2020年河南省CCPC大学生程序设计竞赛
0x3f3f3f3f的十进制是1061109567,是10^9级别的。
最短距离mind要初始化为10^18,因为d没根号下
#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<string.h>
using namespace std;
typedef long long ll;struct ch{ll zhong;//1表示虫子,0表示人 ll x,y;//坐标 ll xue;//血量
}kk[2010];int main()
{int i,j,k;int n,m;ios::sync_with_stdio(false);//加速while(cin>>n){ll z,x,y,xue,r,li;ll cnt=0;//计数用的方便之后的遍历 for(int i=1;i<=n;i++){cnt++;cin>>z;if(z==1)//添加一只虫子 {cin>>x>>y>>xue;kk[cnt].x=x;kk[cnt].y=y;kk[cnt].xue=xue;kk[cnt].zhong=1;//虫子 }else//添加一个士兵 {cin>>x>>y>>li>>r;r=r*r;//之后计算距离就不用根号了 kk[cnt].x=x;kk[cnt].y=y;kk[cnt].zhong=0;kk[cnt].xue=1;//血量设为1,用来区别死亡和存活ll mind=1e18;ll minx,miny;//记录最小距离的那个虫子的坐标minx=kk[cnt].x;//初始化为士兵的坐标 miny=kk[cnt].y;for(int j=1;j<=cnt;j++)//查找;距离这个士兵最近的存活的虫子 {if(kk[j].zhong==0||kk[j].xue<=0)///如果是士兵或者死掉的虫子 就 跳过 continue;ll d=(kk[j].x-kk[cnt].x)*(kk[j].x-kk[cnt].x)+(kk[j].y-kk[cnt].y)*(kk[j].y-kk[cnt].y);if(mind>d){mind=d;//如果最小的距离小于本次计算的距离minx=kk[j].x;miny=kk[j].y;}}for(int j=1;j<=cnt;j++)//从找到的那个虫子 {if(kk[j].zhong==0||kk[j].xue<=0)///如果是士兵或者死掉的虫子 就 跳过 continue;ll d=(kk[j].x-minx)*(kk[j].x-minx)+(kk[j].y-miny)*(kk[j].y-miny);if(d<=r)//在攻击范围内 {kk[j].xue-=3*li;if(kk[j].xue>0)//虫子仍然存活 {kk[cnt].xue=0;//人死掉 }} }}}for(int i=1;i<=n;i++){/// cout<<kk[i].xue<<endl;if(kk[i].xue>0)cout<<"Yes"<<endl;elsecout<<"No"<<endl;}} return 0;
}//j的遍历也要遍历cnt
2692: 我得重新集结部队相关推荐
- 中国部队总动员截图!
刚看了美国战舰,里面有段是中美对峙,美国收到消息中国在几小时内集结部队 看截图 我KAO,不要太强,这不是传说中的神秘部队!每年只在9月出现!.....的军训......
- 古希腊的对外战争,兼谈希腊罗马的军制和战斗力
象大多数军事爱好者一样,在下对军事感兴趣,是从读二战开始的.自11岁从父亲单位图书馆借来古德里安的回忆录"闪击英雄"开始,到现在将近20年,还是在看二战.可是毕竟二战只有6年时间, ...
- 袁崇焕的悲剧在于忘了自己是一颗棋子以为有autonomy
袁督师倒也不依不饶:那我自己进城. 答复:不行. 会议就此结束. 这一天是崇祯二年(1629)十一月二十三日,根据种种迹象显示,崇祯判定,袁崇焕不可再用. 但除掉此人,还需要时间,至少七天. 幕后人物 ...
- EGO游戏 トキの戦華 时之战华 剧情攻略(+修改器+特殊码)
说明: 嘛,玩夜明的大师 能大致说说主角是怎么把到王女的么 里面我已经说明为什么喜欢EGO游戏,反正已经不如当年了 大家自己看着办,不过就3DM高手说,前几个月 很多人乱什么斗神都市3,还不如EGO的 ...
- 三国志战略版:Daniel_赤壁前瞻3_地图战略及配将思路
一.简单说下三种船 [蒙冲] 这里必须要把这两个放在一起说,蒙冲这种船,功能性极强,就是拿来冲锋献祭的.在阵容上,应该是以群弓.吴骑.三势吕这种冲突敌阵.消耗主力的阵容为主.(这里有混乱效果,理论上可 ...
- 三国志战略版:Daniel_S7赤壁之战前瞻2_细节爆料
一.前言 S7前瞻第二弹.有幸拿到一些官方爆料,特地剪辑了一些,来跟大家分享.同时根据这些资料,我也习惯性地分析一下正式上线的内容. 二.玩家船只特写 [斗舰特写] [艨艟特写] [楼船特写] [三种 ...
- 2020河南省第二届CCPC真题解析(附榜单)
这里写目录标题 A:班委竞选 题目: 分析: AC代码: B:广告投放 题目: 分析: AC代码: C:我得重新集结部队 题目: 分析: AC代码: D:园艺大师 题目: 分析: AC代码: E:发通 ...
- 《率土之滨论文研赏大赛》参赛文章
其实犹豫了很久,该不该把这个放上来,毕竟写的很差,但当时真的是凭借对游戏的热爱,认认真真的在写,其实这个也算是自己第一次写的较为完整的有关游戏的文章,因为最近自己在着手做游戏,在写策划案,着实感觉自己 ...
- 《地理信息系统原理》笔记/期末复习资料(1. 概述)
目录 1. 概述 1.1. 地理信息系统的基本概念 1.1.1. 信息与数据 1.1.2. 空间数据与地图 1.1.3. 地理信息与地学信息 1.1.4. 信息系统和地理信息系统 1.2. 地理信息系 ...
最新文章
- spring boot学习资料以及DEMO项目
- 技术扫盲:关于低代码编程的可持续性交付设计和分析
- 增加一列为主键 oracle,给oracle数据库增加一列做主键,增加一个sequence,数据库怎么获得主键。...
- String转BigDecimal,BigDecimal常用操作,以及避免踩坑
- [libjingle学习笔记]编译注意事项
- 前端学习(1735):前端系列javascript之TypeScript介绍
- Gson实现自定义解析json格式
- eclipse远程调试liunx下的tomcat
- Quartus仿真步骤
- 三星android智能手机usb驱动程序,三星手机安卓USB驱动Samsung USB Driver for Mobile Phones 1.5.51.0...
- 卫星通信 | 使用虹科SAF手持式频谱分析仪进行TDD信号分析
- Druid连接池原理
- android微信分享成功后回调,微信分享成功后回调问题
- springboot uniapp小说阅读APP源码
- Adobe illustrator 常用菜单命令和快捷键
- python 实现接口上传图片
- 狂神 redis笔记 docker
- 部分选主元的Doolittle分解
- 学习计算机的英语口语,最实用的英语口语学习技巧
- 关于DBeaver连接mysql驱动下载失败问题【数据库】
热门文章
- 计算机侧边栏不显示桌面,侧边栏不见了?Win7小工具桌面随意放
- 民生银行十五年的数据体系建设,深入解读阿拉丁大数据生态圈、人人BI 是如何养成的?【转】...
- qq更换头像php简单,Typecho将评论头像修改为QQ头像
- (Java高级教程)第四章必备前端基础知识-第二节1:CSS概述和选择器
- android 自定义圆形pop,自定义通过PopupWindow实现通用菜单
- SSL P1597 石子合并问题 题目
- 【交互式用户流程与演示设计】上海道宁与​Overflow让您能更自信的展示您的设计
- 【超图+CESIUM】【基础API使用示例】41、超图|CESIUM - 特效-雪景设置
- MySQL实现主主同步(三台服务器)
- 机械制图计算机类实验报告,工程制图与CAD实习实验报告模板