NYOJ660逃离地球——只为最大存活率~
逃离地球
- 描述
-
据霍金的《时间简史》所述,在几亿年之后将再次发生宇宙大爆炸。在宇宙大爆炸后,地球上将新生出许多生物而不再适合人类生存。当然其中的生物有好有坏,我们规定其中名叫Angel和Devil分别是善良和邪恶的两种生物。
-->所以当主人公Be.St遇到了Angel他将获得该Angel身上的相应HP的一半,而当他遇到Devil时他将损失Devil身上的HP的一半。
--> 当然,在将要逃离地球的终点Be.St可能会遇到一些大Boss,如果此时他的HP连Boss 的HP一半都不到,那么此时他将直接被秒杀。但当其HP不小于Boss HP的一半时,他将会经过激烈的战斗而获得Boss身上相应HP的一半。
-->我们规定如果Be.St的HP不小于0,则其能成功脱逃,否则视为不能。
-->为了是问题简化我们童话一点,假设一开始Be.St是一直遇到Angel,之后将一直遇到Devil,最后将会是Boss。
现在就请厉害的ACMer帮帮可怜的Be.St,判断他是否能够顺利逃离地球。
- 输入
- 第一行输入一个正整数T,代表有T组测试数据(0<T<100)
每一组测试数据第一行都有四个正整数H,A,D,B分别代表Be.St初始HP,Angel的数量,Devil的数量,Boss的数量。从第三行开始其后的的每一行分别代表A,D,B相应生物的HP(0<H,A,B,D<100)
- 输出
- 如果在满足以上的条件后,Be.St可以顺利的逃离地球(即HP>=0),则输出”Win”,相反的情况是输出”Lose”。
- 样例输入
-
2
5 3 4 1
1 2 3
1 1 1 1
14
10 4 2 2
2 3 5 1
6 7
6 6 -
样例输出
-
Lose
Win
- 省赛题,看起来不难,但做出来却很少,肯定存在坑点啊~~,注意题目意思说先遇到天使,并获得天使能量的一半,然后遇到恶魔,减去恶魔能量值的一半,注意能量都是整数,一半的话提示 hp 用 double 型的,最后遇到BOSS,如果以上问题解决了还是wa了,那么问题可能就存在BOSS的能量里了,题目并没有指示BOSS出现的先后顺序,那么先后顺序不同结果会不同吗?毫无疑问,所以问题最可能在这里。。。
- 这里就分两种情况了,求的是最大存活率,求的是最小存活率,看不懂?别急,看代码:
#include<bits/stdc++.h>
using namespace std;
int b[100];
int main()
{
int t,i,j,x1,x2,x3,a;
double x,sum;
scanf("%d",&t);
while(t--)
{
j=sum=0;
scanf("%lf%d%d%d",&x,&x1,&x2,&x3);
while(x1--)
{
scanf("%d",&a);
sum+=a;
}
x+=sum/2;
sum=0;
while(x2--)
{
scanf("%d",&a);
sum+=a;
}
x-=sum/2;
if(x<0)
printf("Lose\n");
else
{
for(i=0; i<x3; i++)
scanf("%d",&b[i]);
sort(b,b+x3);
for(i=0; i<x3; i++)<span style="font-family: Arial, Helvetica, sans-serif; font-size: 12px;">//求最大存活的,为了保证能成功</span> {
if(x>=b[i]/2)//这就是判断条件
x+=b[i]/2;
else
{
j=1;
break;
}
}
}
if(j||x<0)
printf("Lose\n");
else
printf("Win\n");
}
return 0;
}//代码没有优化,应该可以更简洁快速的,而且思路也很多;
其实到底求的是什么假设一下,关键代码并不复杂,不过嘛,,,省赛中还是要有敢赌的勇气啊,,~~
NYOJ660逃离地球——只为最大存活率~的更多相关文章
- SpringMVC的Action在同一时间里只允许同一个浏览器的单次进入?
最近用SpringMVC写了一个很简单的测试程序,代码如下: @Controller public class LongTimeTaskController { @RequestMapping(val ...
- GDB 多线程调试:只停止断点的线程,其他线程任然执行; 或只运行某些线程 其他线程中断
多线程调试之痛 调试器(如VS2008和老版GDB)往往只支持all-stop模式,调试多线程程序时,如果某个线程断在一个断点上,你的调试器会让整个程序freeze,直到你continue这个线程,程 ...
- WebSocket异常 通常每个套接字地址(协议/网络地址/端口)只允许使用一次
websocket的实例:http://blog.csdn.net/for_cxc/article/details/51500185 问题: 新建一个连接通信没有问题,但是如果关闭再建立就会报错:通常 ...
- 类EF框架Chloe.ORM升级:只为更完美
扯淡 Chloe.ORM:一款轻量.高效的.NET C#数据库访问框架(ORM).查询接口借鉴 Linq(但不支持 Linq).借助 lambda 表达式,可以完全用面向对象的方式就能轻松执行多表连接 ...
- js封装的三级联动菜单(使用时只需要一行js代码)
前言 在实际的项目开发中,我们经常需要三级联动,比如省市区的选择,商品的三级分类的选择等等. 而网上却找不到一个代码完整.功能强大.使用简单的三级联动菜单,大都只是简单的讲了一下实现思路. 下面就给大 ...
- Apache报错信息之通常每个套接字地址(协议/网络地址/端口)只允许使用一次(could not bind to address 0.0.0.0:80)
我们常常在执行 httpd –k restart 重启Apache时报错提示: (OS 10048)通常每个套接字地址(协议/网络地址/端口)只允许使用一次. : AH00072: make_soc ...
- 关于SQL的相关笔记【长期更新,只发一帖】
场景[1]多表联查时,主表与关联表同时与同一张(第三张表)有关联,类似三角恋关系- - 涉及表: HOUSE:记录了房屋信息 ROOMS:记录了房间信息 HOUSE_STATUS:记录了状态信息的中文 ...
- win7系统的右键菜单只显示一个白色框不显示菜单项 解决办法
如上图所示,桌面或其他大部分地方点击右键菜单,都只显示一个白色框,鼠标移上去才有菜单项看,并且效果很丑 解决办法: 计算机-右键-属性-高级-性能-设置-视觉效果-淡入淡出或滑动菜单到视图,将其前面的 ...
- Oracle 删除重复数据只留一条
查询及删除重复记录的SQL语句 1.查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断 select * from 表 where Id in (select Id from 表 g ...
随机推荐
- Android利用融云做异地登录提醒
在RongCloudEvent下找到onChanged方法 @Override public void onChanged(ConnectionStatus connectionStatus) { s ...
- Xilinx HLS
Xilinx 的高层次综合(High Level Synthesis, HLS)技术是将C/C++/SystemC软件语言转换成Verilog或VHDL硬件描述语言的技术.现已应用在SDAccel,S ...
- Long time no blogging
It is a long time before I posted the last blog on myspace and seems that all of my blogs/documents ...
- 飞秋软件的OA消息接口服务器
由于单位使用了飞秋,同时也使用了OA,但OA的消息系统没有飞秋方便,所以大多数人还是在用飞秋沟通.但审批等流程又在OA上,所以做了个消息接口服务器,提取OA消息自动发送到飞秋上,大大方便了工作. 正好 ...
- COGS 2098. Asm.Def的病毒
★☆ 输入文件:asm_virus.in 输出文件:asm_virus.out 简单对比时间限制:1 s 内存限制:256 MB [题目描述] “这就是我们最新研制的,世界上第一种可持 ...
- SQLite -创建数据库
SQLite -创建数据库 SQLite sqlite3命令用于创建新的SQLite数据库.你不需要有任何特权来创建一个数据库. 语法: sqlite3命令的基本语法如下: $sqlite3 Data ...
- Unity查找物体的四大主流方法及区别
GameObject.Find()优点: 使用简单方便不会因为重名而报错,同时查找的是自上而下的第一个物体缺点 不能查找被隐藏的物体,否则出现“空引用异常”,这是很多新人在查找出现空引用bug的原因. ...
- CentOS 6.5下安装Python 3.5.2(与Python2并存)
CentOS 6.5下安装Python 3.5.2(与Python2并存) 安装步骤 1,准备编译环境(环境不对,在安装过程中可能遇到各种问题.比如wget无法下载链接的文件) yum groupin ...
- django模板系统的基本原则
写模板,创建template对象,创建 context ,调用render()方法
- 用list去初始化numpy的array数组 numpy的array和python中自带的list之间相互转化
http://blog.csdn.net/baiyu9821179/article/details/53365476 a=([3.234,34,3.777,6.33]) a为python的list类型 ...