ZZNUOJ-2157: 水滴来袭-【干扰阅读-卡模糊精度1e-8的问题】
ZZNUOJ-2157: 水滴来袭
那是一个冷雨霏霏的秋天的下午,当罗辑拿着枪威胁三体文明的时候,如果过了三十秒三体人还没有同他展开谈判,罗辑就会扣动扳机即刻结束自己的生命,随后他身上的核弹控制器就会检测不到他的生命体征进而按照设定引爆数千万枚核弹,
这些排列有序的核弹会以某种原理(具体见原著)向银河系范围公布三体世界的坐标,来自黑暗森林法则的力量就会摧毁掉整个三体星系和太阳系(在太阳系的三体舰队也无法存活)。
在通过量子通讯实时得到了这则消息后,作为三体第一舰队的指挥官慌得一批,精通逻辑分析能力的Ta在脑海里迅速展开了一次博弈推理:
、三体世界必须保证无恙,不能冒任何风险。
、三体舰队的水滴此刻距离罗辑Xkm处,光的传播速度为公认值为c=299792458米/秒,水滴可以达到光速的99.%,可以通过量子通讯技术即刻控制水滴,让水滴“start”(忽略加速时间),前往摧毁罗辑的核弹控制器——罗辑“dying”,
三体世界得以“survive”,三体第一舰队得以抵达地球,获得充分补给和能源“survive”,但地球状况却是“dying”。
、如果水滴在三十秒以后无法及时阻止,那么让水滴保持“static”,三体第一舰队即刻同罗辑谈判,地球和三体世界都得以“survive”;三体第一舰队必然撤退,但注定因为燃料不足,全体舰队成员全部在返航途中“dying”,
地球状况可视为“survive”。
指挥官的量子大脑推理的时间忽略不计,即刻迅速行动。
输入 每组样例输入包含两个整数:X和Y。
三体舰队的水滴此刻距离地球上罗辑的位置Xkm处,X为整数,<= X <=^.
事实上,罗辑其实也慌得一批,自己手里就紧紧握着两个星系的命运;因为他没带手表,所以只好自己在心里默默数数,将数完30个数来作为30秒钟来计算,设他数完30个数的时间为Y秒,Y为整数,<=Y<=。
三体第一舰队的指挥官在推理计算时,不知道这个Y值的存在,只按他说的三十秒来计算。 多实例,不超过10000组数据,处理到EOF结束。 输出
作为三体的一名地球智子观察员,你需要在30秒后向三体总部汇报监测结果,(针对每个样例)简化一下报告内容分别输出五行即可:
第一行输出三体第一舰队的状况,格式: "First Fleet : dying/survive"
第二行输出罗辑的状况,格式:"LuoJi : dying/survive"
第三行输出三体世界的状况,格式:"Home : dying/survive"
第四行输出地球的状况,格式: "Earth : dying/survive"
第五行输出水滴的状况,格式:"Drop : start/static"
第六行输出一个空行,表示分隔行。 样例输入 样例输出 First Fleet : survive
LuoJi : dying
Home : survive
Earth : dying
Drop : start First Fleet : dying
LuoJi : dying
Home : dying
Earth : dying
Drop : start 提示 如果罗辑开枪的同时水滴摧毁核弹控制器,则视为水滴成功阻止。
浮点数之间误差小于等于1e-,即可认为相等。
本题无其他除题意外的特殊情况,本故事剧情纯属虚构。
大致思路:
直接列出真值表:
|
|
30秒水滴飞不到,直接谈判 |
30秒可以飞到,但罗辑提前开枪了 |
30秒可以飞到并赶在他开枪之前 |
|
|
dying:(0)/Survive:(1) |
dying:(0)/Survive:(1) |
dying:(0)/Survive:(1) |
|
First Fleet |
0 |
0 |
1 |
|
LuoJi |
1 |
0 |
0 |
|
home |
1 |
0 |
1 |
|
earth |
1 |
0 |
0 |
|
|
Start:(0)/static(1) |
Start:(0)/static(1) |
Start:(0)/static(1) |
|
Drop |
1 |
0 |
0 |
接下来就是模糊精度处理的问题:
1、如果水滴在30s+1e-9s 的时间赶来,算谁赢?水滴会出动吗?
浮点数之间误差小于等于1e-,即可认为相等。
如果罗辑开枪的同时水滴摧毁核弹控制器,则视为水滴成功阻止。
根据提示里的内容,可以想到30+1e-9确实大于30s但是根据题意是相等的,并且可以在“30秒”的时候成功阻止!
2、如果水滴在30s+1e-8s 的时间赶来,算谁赢?水滴会出动吗?
浮点数之间误差小于等于1e-,即可认为相等。
如果罗辑开枪的同时水滴摧毁核弹控制器,则视为水滴成功阻止。
根据提示里的内容,可以想到30+1e-9确实大于30s但是根据题意是相等的,并且可以在“30秒”的时候成功阻止!
3、如果水滴在30s+1e-7s 的时间赶来,算谁赢?水滴会出动吗?
浮点数之间误差小于等于1e-,即可认为相等。
如果罗辑开枪的同时水滴摧毁核弹控制器,则视为水滴成功阻止。
根据提示里的内容,可以想到30+1e-7确实大于30s但是根据题意是不相等的,并且可以在“30秒”的时候是不能成功阻止的!所以只好进行谈判!
4、如果罗辑在Y秒开枪,水滴可以出动,水滴在Y+1e^-9 的时间赶来,算谁赢?
同理
5、如果罗辑在Y秒开枪,水滴可以出动,水滴在Y+1e^-8 的时间赶来,算谁赢?
同理
6、如果罗辑在Y秒开枪,水滴可以出动,水滴在Y+1e^-7 的时间赶来,算谁赢?
同理
签到题,卡精度,经过不断尝试更改数据范围,发现了一个卡精度卡到 1e^-7 的数据!所以,这个小小的精度WA了所有的人!
double(A) > double(B)的意思是绝对大于的意思,会忽略精度的近似相等的处理要求的!
一旦题目要求精度了,就注意好精度问题,千万不可忽略!建议可以画一个一维的坐标轴范围出来,可以看的更清楚!
题解:
#include<stdio.h>
#include<iostream>
#include<math.h>
using namespace std;
const double eps=1e-;
#define PI acos(-1.0)
int main(){
// freopen("input.in","r",stdin);
// freopen("output.out","w",stdout); double X,Y;
double vd=299792.458*0.9998; //水滴速度 while(scanf("%lf%lf",&X,&Y)!=EOF){ double t1=X/vd;//水滴飞行时间
bool ff,fl,fh,fe,fd; if(t1>30.0&&(fabs(t1-30.0)>1e-)){ //水滴30s飞不到,立即谈判
ff=;
fl=;
fh=;
fe=;
fd=;
}
else if((t1<30.0||fabs(t1-30.0)<=1e- )&&(t1>Y&&fabs(t1-Y)>1e-)) //水滴起飞,罗辑提前开枪了
{
ff=;
fl=;
fh=;
fe=;
fd=;
}
else{
ff=;
fl=;
fh=;
fe=;
fd=;
}
// printf("**Tdrop = %.9lf , Y=%.9lf\n",t1,Y); if(ff==)printf("First Fleet : dying\n");
else printf("First Fleet : survive\n"); if(fl==)printf("LuoJi : dying\n");
else printf("LuoJi : survive\n"); if(fh==)printf("Home : dying\n");
else printf("Home : survive\n"); if(fe==)printf("Earth : dying\n");
else printf("Earth : survive\n"); if(fd==)printf("Drop : start\n");
else printf("Drop : static\n");
cout<<endl;
} return ;
}
ZZNUOJ-2157: 水滴来袭-【干扰阅读-卡模糊精度1e-8的问题】的更多相关文章
- 模糊测试(Fuzz testing)
模糊测试(fuzz testing)是一种安全测试方法,他介于完全的手工测试和完全的自动化测试之间.为什么是介于那两者之间?首先完全的手工测试即是渗透测试,测试人员可以模拟黑客恶意进入系统.查找漏洞, ...
- OpenCV3入门(十三)图像运动模糊
1.原理 运动模糊产生: 由于相机传感器或物体相对运动, 按快门瞬间造成图像产生运动模糊. 在用摄像机获取景物图像时,如果在相机曝光期间景物和摄像机之间存在相对运动,例如用照相机拍摄快速运动的物体,或 ...
- 手机三种SIM卡 你所不知道的剪卡“秘密”
SIM卡物理尺寸的发展是逐渐轻薄化,尺寸逐渐缩小的一个过程,最早手机中的卡都是2FF,2003年国际标准提出3FF,当前很多终端都使用这种形态的卡,4FF在2011年的国际标准会议中提出,2012年纳 ...
- Security+学习笔记
第二章 风险分析 风险管理 评估:确定并评估系统中存在的风险 分析:分析风险对系统产生的潜在影响 响应:规划如何响应风险的策略 缓解: 缓解风险对未来安全造成的不良影响 风险分析流程 资产确定 漏洞确 ...
- We're Hiring A Software Tester
测试人员的基本修养: 代码编写,不可或缺 乔布斯说:Design is not just what it looks like and feel like,design is how it works ...
- 软件调研——GoodNotes 5与Notability
项目 内容 这个作业属于哪个课程 2021春季软件工程(罗杰 任健) 这个作业的要求在哪里 作业要求 我在这个课程的目标是 积累软件开发经验,提高工程能力 这个作业在哪个具体方面帮助我实现目标 深入调 ...
- php实现验证码
验证码在表单实现越来越多了,但是用js的写的验证码,总觉得不方便,所以学习了下php实现的验证码.好吧,其实是没有事情干,但是又不想浪费时间,所以学习了下php实现验证码.正所谓,技多不压身.而且 ...
- 激光三角法点云重建分享——halcon 方法
如今视觉应用方面单纯依靠2D图像解决问题存在很多问题.稳定性差.定位不准确.还有配合机器人抓取方面只能抓高度一致的物品.其实在Halcon算法库有非常强大的三维算法.包括点云重建.激光三角法(2D相机 ...
- SSM框架简介及整合教程
1.Spring Spring 框架是 Java 应用最广的框架,它的成功来源于理念,而不是技术本身,它的理念包括 IoC (控制反转) 和 A面向切面编程).Spring框架是个轻量级的Java E ...
随机推荐
- 关于一些初学Unity的基本操作和自己的理解
1.Scene面板操作: A.按住鼠标右键,拖动鼠标,可以旋转 B.鼠标滚轮前后滑动,前进后退 C.按下鼠标滚轮,拖动鼠标,可以拖动场景 D.在场景中选中物体,按F键或者在Hierarchy面 ...
- Android 反编译技术流程
为何需要反编译 作为一名Android开发者,很多的时候需要去学习别人优秀的代码,原本在GitHub上就有很多开源的项目代码,但有的时候在使用软件时候遇到自己想要的功能时,想要学习实现的代码时,这时候 ...
- Nachos java版学习(一)
最近,操作系统课程设计使用伯克利大学的Nachos做为实验平台,老师也照搬伯克利的Project要求,开始我们的操作系统课程设计. 结合自己的学习过程和课设要求,我觉得对Nachos的学习首先应该从K ...
- Feign【首次请求失败】
当feign和ribbon整合hystrix之后,可能会出现首次调用失败的问题,出现原因分析如下: hystrix默认的超时时间是1秒,如果接口请求响应超过这个时间,将会执行fallback,spri ...
- PyCharm Django 显示一个简单页面
1.创建项目及创建应用 如:创建一个名zqxt_tmpl的项目,创建一个 learn的应用 在(Terminal)中执行 django-admin.py startproject zqxt_tmpl ...
- UOJ208 UOIP十合一(提交答案)
首先对每张图都去掉自环. 1:给出的就是DAG.答案即为2m. 2.5:显然每个SCC之间互相独立.这两个点都满足SCC中的点很少.于是对每个SCC暴力枚举边集判环,而SCC之间的边显然选不选没有影响 ...
- jacascript CSS样式的脚本化(js)操作
前言:这是笔者学习之后自己的理解与整理.如果有错误或者疑问的地方,请大家指正,我会持续更新! 引入CSS有3种方式:行间样式,内联样式和外部链接样式. 在实际工作中,我们使用 javascript 操 ...
- centOS 7单机安装 kong
kong 网关 单机部署 环境:centOS 7:依赖:jdk1.8 安装内容:postgresql数据库, kong 网关,nodeJs和npm,kong Dashboard (可视化管理界面) 版 ...
- SQL查询月、天、周、年(MySql的实例对比)
SQL Server实现 日期部分 缩写 year yy, yyyy quarter qq, q month mm, m dayofyear dy, y day dd, d week wk, ww w ...
- 2019 WebRtc AudioMixer混音流程
本文简要说明最新版WebRtc AudioMixer混音流程. 本程序使用4个16KHz 单声道时长均大于10秒的Wav文件作为混音源,只合成前10秒的音频,输出也是16KHz单声道音频. 输入和输出 ...