2692: 我得重新集结部队

时间限制: 1 Sec  内存限制: 128 MB
提交: 685  解决: 146
[状态] [讨论版] [提交] [命题人:admin]

题目描述

为了保护科普卢星区的和平,大主教阿塔尼斯每时每刻都在指挥部队抗击肆虐的虫群。最近,阿塔尼斯把目光投向了又一颗布满虫群的星球。在这次行动中,阿塔尼斯计划使用狂热者铲除星球上的虫群威胁。
狂热者是星灵的基本近战兵种,每个狂热者有一个攻击力 atk 和一个攻击范围 r。在狂热者发动攻击时,他会冲向距离最近的异虫,在这只异虫处释放 3 次威力强大的旋风斩。若有多只距离最近的异虫,他会选择最早出现的那只。若当前没有存活的异虫,那么这只狂热者会在原地释放旋风斩。每次旋风斩会对所有与攻击者距离小于等于 r 的异虫进行攻击,对每只异虫造成 atk 的伤害(生命值减少 atk)。
当然,这些异虫也是不好惹的。每只异虫具有初始生命值 h,当生命值小于等于 0 时,该异虫将会死亡(并离开战场)。但是,在一次攻击中,若一只异虫受到 3 次旋风斩后仍未死亡,那么它将会对进攻的狂热者进行反击,使这个狂热者不得不离开战场。
在整个战役中,按照时间顺序依次发生了 n 个事件,事件有以下两种:

  1. 异虫出现。一只初始生命值为 h 的异虫单位出现在  (x,y)坐标。
  2. 折跃狂热者。一个狂热者被折跃到了  (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. 事件 1 中,在 (0,0)处出现了一只异虫,其生命值为 4。
  2. 事件 2 中,在 (0,1)处新出现了一只异虫,其生命值为 8。
  3. 事件 3 中,在  (1,0)  处折跃一只攻击力为 1,攻击半径为 1 的狂热者,他移动到坐标 (0,0) 后,发动 3 次旋风斩。异虫 1,2 分别剩余生命值 1,5,随后狂热者受到反击离开战场。
  4. 事件 4 中,在 (1,0)  处折跃一只攻击力为 1,攻击半径为 1 的狂热者,他移动到坐标 (0,0) 后,发动 3 次旋风斩。异虫 1 死亡,异虫 2 剩余生命值 2,随后狂热者受到反击离开战场。
  5. 事件 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: 我得重新集结部队相关推荐

  1. 中国部队总动员截图!

    刚看了美国战舰,里面有段是中美对峙,美国收到消息中国在几小时内集结部队 看截图 我KAO,不要太强,这不是传说中的神秘部队!每年只在9月出现!.....的军训......

  2. 古希腊的对外战争,兼谈希腊罗马的军制和战斗力

    象大多数军事爱好者一样,在下对军事感兴趣,是从读二战开始的.自11岁从父亲单位图书馆借来古德里安的回忆录"闪击英雄"开始,到现在将近20年,还是在看二战.可是毕竟二战只有6年时间, ...

  3. 袁崇焕的悲剧在于忘了自己是一颗棋子以为有autonomy

    袁督师倒也不依不饶:那我自己进城. 答复:不行. 会议就此结束. 这一天是崇祯二年(1629)十一月二十三日,根据种种迹象显示,崇祯判定,袁崇焕不可再用. 但除掉此人,还需要时间,至少七天. 幕后人物 ...

  4. EGO游戏 トキの戦華 时之战华 剧情攻略(+修改器+特殊码)

    说明: 嘛,玩夜明的大师 能大致说说主角是怎么把到王女的么 里面我已经说明为什么喜欢EGO游戏,反正已经不如当年了 大家自己看着办,不过就3DM高手说,前几个月 很多人乱什么斗神都市3,还不如EGO的 ...

  5. 三国志战略版:Daniel_赤壁前瞻3_地图战略及配将思路

    一.简单说下三种船 [蒙冲] 这里必须要把这两个放在一起说,蒙冲这种船,功能性极强,就是拿来冲锋献祭的.在阵容上,应该是以群弓.吴骑.三势吕这种冲突敌阵.消耗主力的阵容为主.(这里有混乱效果,理论上可 ...

  6. 三国志战略版:Daniel_S7赤壁之战前瞻2_细节爆料

    一.前言 S7前瞻第二弹.有幸拿到一些官方爆料,特地剪辑了一些,来跟大家分享.同时根据这些资料,我也习惯性地分析一下正式上线的内容. 二.玩家船只特写 [斗舰特写] [艨艟特写] [楼船特写] [三种 ...

  7. 2020河南省第二届CCPC真题解析(附榜单)

    这里写目录标题 A:班委竞选 题目: 分析: AC代码: B:广告投放 题目: 分析: AC代码: C:我得重新集结部队 题目: 分析: AC代码: D:园艺大师 题目: 分析: AC代码: E:发通 ...

  8. 《率土之滨论文研赏大赛》参赛文章

    其实犹豫了很久,该不该把这个放上来,毕竟写的很差,但当时真的是凭借对游戏的热爱,认认真真的在写,其实这个也算是自己第一次写的较为完整的有关游戏的文章,因为最近自己在着手做游戏,在写策划案,着实感觉自己 ...

  9. 《地理信息系统原理》笔记/期末复习资料(1. 概述)

    目录 1. 概述 1.1. 地理信息系统的基本概念 1.1.1. 信息与数据 1.1.2. 空间数据与地图 1.1.3. 地理信息与地学信息 1.1.4. 信息系统和地理信息系统 1.2. 地理信息系 ...

最新文章

  1. spring boot学习资料以及DEMO项目
  2. 技术扫盲:关于低代码编程的可持续性交付设计和分析
  3. 增加一列为主键 oracle,给oracle数据库增加一列做主键,增加一个sequence,数据库怎么获得主键。...
  4. String转BigDecimal,BigDecimal常用操作,以及避免踩坑
  5. [libjingle学习笔记]编译注意事项
  6. 前端学习(1735):前端系列javascript之TypeScript介绍
  7. Gson实现自定义解析json格式
  8. eclipse远程调试liunx下的tomcat
  9. Quartus仿真步骤
  10. 三星android智能手机usb驱动程序,三星手机安卓USB驱动Samsung USB Driver for Mobile Phones 1.5.51.0...
  11. 卫星通信 | 使用虹科SAF手持式频谱分析仪进行TDD信号分析
  12. Druid连接池原理
  13. android微信分享成功后回调,微信分享成功后回调问题
  14. springboot uniapp小说阅读APP源码
  15. Adobe illustrator 常用菜单命令和快捷键
  16. python 实现接口上传图片
  17. 狂神 redis笔记 docker
  18. 部分选主元的Doolittle分解
  19. 学习计算机的英语口语,最实用的英语口语学习技巧
  20. 关于DBeaver连接mysql驱动下载失败问题【数据库】

热门文章

  1. 计算机侧边栏不显示桌面,侧边栏不见了?Win7小工具桌面随意放
  2. 民生银行十五年的数据体系建设,深入解读阿拉丁大数据生态圈、人人BI 是如何养成的?【转】...
  3. qq更换头像php简单,Typecho将评论头像修改为QQ头像
  4. (Java高级教程)第四章必备前端基础知识-第二节1:CSS概述和选择器
  5. android 自定义圆形pop,自定义通过PopupWindow实现通用菜单
  6. SSL P1597 石子合并问题 题目
  7. 【交互式用户流程与演示设计】上海道宁与​Overflow让您能更自信的展示您的设计
  8. 【超图+CESIUM】【基础API使用示例】41、超图|CESIUM - 特效-雪景设置
  9. MySQL实现主主同步(三台服务器)
  10. 机械制图计算机类实验报告,工程制图与CAD实习实验报告模板