Doors Breaking and Repairing
2024-09-20 00:56:03
题目链接:Doors Breaking and Repairing
题目大意:有n个门,先手攻击力为x(摧毁),后手恢复力为y(恢复),输入每个门的初始“生命值”,当把门的生命值攻为0时,就无法恢复了。问:最多可以把几个门的生命值攻为0。
思路:(1)当 x>y 的时候肯定所有的门的生命值都能降为0;
(2)当 x<=y 的时候,先手的最优策略就是每次去攻击那些当前“生命值”比自己攻击力小的门,使它们的生命值降为0;
后手的最优策略就是去提高那些“生命值”比先手小的门的“生命值”,来减少先手“攻破”的门的数量,
那些“生命值”本来就比先手攻击力高的先手就更攻破不了了;所以直接用门的“”生命值”小于等于x的门的个数除以2向上取整即可。
/* */
# include <bits/stdc++.h>
using namespace std;
typedef long long ll; ll a[];
int main()
{
int n, x, y, num=, sum=;
cin>>n>>x>>y;
for(int i=; i<=n; i++ )
{
cin>>a[i];
if( a[i]<=x )
sum++;
}
if( x<=y )
cout<<ceil(sum/2.0)<<endl;
else
cout<<n<<endl;
return ;
}
最新文章
- ie8及ie8以下支持html5 video标签
- tomcat安全配置
- Wireshark抓包工具使用教程以及常用抓包规则
- Ubuntu 12.04 安装搜狗输入法
- []cp,转载]提示MyEclipse Trial Expired,如何手动获取MyEclipse 注册码!很牛!
- [Mugeda HTML5技术教程之12]制作跨屏互动应用
- DataSet中取值(转)
- Vanya and Field
- hdu_3063_Play game(数论)
- Linux学习记录--文件IO操作相关系统编程
- 增加tomcat的缓存
- ajax的原理解析
- 学习安卓开发[5] - HTTP、后台任务以及与UI线程的交互
- PS中如何把图片颜色加到字体上去
- UnicodeEncodeError: &#39;gbk&#39; codec can&#39;t encode character &#39;\u25aa&#39; in position 15: illegal multibyte sequence
- linux下更改主机名方法hostname
- WebSphere部署Spring Boot
- VMware 14 Pro 安装 CentOS 7
- 默认情况下eth0网卡配置文件路径及客户端DNS的路径
- Grunt:任务自动管理工具(收藏+转载)