洛谷P1916 小书童——蚂蚁大战
题目背景
小A在你的帮助下,开始“刷题”,他在小书童里发现了一款叫“蚂蚁大战”(又称蛋糕保卫战)的游戏。(你懂得)
题目描述
游戏中会出现n只蚂蚁,分别有a1,a2……an的血量,它们要吃你的蛋糕。当然,你不会袖手旁观。你有m元钱,可以用来造防御塔,每个塔k元。塔的威力是每秒w滴血。此外,在第r秒时,蚂蚁会把蛋糕搬进窝。小A想知道,在第r秒时,会有多少块蛋糕被搬进窝(一只蚂蚁搬一块蛋糕)。
输入输出格式
输入格式:
第一行:n m k w r。第2~n+1行:a1,a2……an。
输出格式:
一行,表示有多少块蛋糕被蚂蚁搬进窝。
这道题题意就让我不太明白.....直到我想起了保卫萝卜
反正差不多就是这个意思......只不过这个题简单一些(和做保卫萝卜的题相比)
由于蚂蚁的血量是不一样的,而每只蚂蚁都只能搬一块蛋糕 给萝卜扣一点血(不同的是,这里可以看成这一堆蚂蚁是一起出来的),所以为了使被搬走的蛋糕尽可能少 让萝卜的血扣得少 我们要集中火力打血最少的蚂蚁,再打血多的蚂蚁(别问我怎么做到的),于是我们可以对蚂蚁的血量排序,从小往大的打
;一共有m元钱,一个塔k元,塔的威力是每秒w,于是可以算出每秒总的塔伤害ww=m/k*w,从t=1第一秒开始,每秒造成一次伤害,打死一个就再打血多的,最后用蚂蚁树n减去打死的蚂蚁数量就好了
AC代码如下
- #include<cstdio>
- #include<iostream>
- #include<cstdlib>
- #include<iomanip>
- #include<cmath>
- #include<cstring>
- #include<string>
- #include<algorithm>
- using namespace std;
- int a[10005];
- int main()
- {
- int n,m,k,w,r,ans=0,t=1,ww=0,count=0;
- cin>>n>>m>>k>>w>>r;
- ans=n;
- ww=m/k*w;//每秒塔的总伤害
- for(int i=0;i<n;i++)
- {
- cin>>a[i];
- }
- sort(a,a+n);//排一个序
- while(t<=r)//是否结束
- {
- t++;
- a[count]=a[count]-ww;
- {
- if(a[count]<0)//不能加=
- {
- count+=1;//如果打死了就再打血多的
- }
- }
- }
- for(int i=0;i<n;i++)
- {
- if(a[i]<=0) //不能去=
- {
- ans-=1;//只要当前的蚂蚁死了,蛋糕就少偷一个
- }
- }
- cout<<ans;
- return 0;
- }
洛谷P1916 小书童——蚂蚁大战的更多相关文章
- 洛谷——P1916 小书童——蚂蚁大战
P1916 小书童——蚂蚁大战 题目背景 小A在你的帮助下,开始“刷题”,他在小书童里发现了一款叫“蚂蚁大战”(又称蛋糕保卫战)的游戏.(你懂得) 题目描述 游戏中会出现n只蚂蚁,分别有a1,a2…… ...
- 洛谷 P1916 小书童——蚂蚁大战
P1916 小书童——蚂蚁大战 题目背景 小A在你的帮助下,开始“刷题”,他在小书童里发现了一款叫“蚂蚁大战”(又称蛋糕保卫战)的游戏.(你懂得) 题目描述 游戏中会出现n只蚂蚁,分别有a1,a2…… ...
- 【洛谷p1926】小书童——蚂蚁大战
f(今天开学第一天) 小书童——蚂蚁大战[传送门] 洛谷算法标签: 这个题要用排序是真的很神奇: 首先我们来理解一下题意:首先蚂蚁们按血量接受打击[魔鬼操作],血量最少的蚂蚁要走到最前面,所以我们可以 ...
- 洛谷 P1914 小书童——密码【字符串+模拟】
P1914 小书童——密码 题目背景 某蒟蒻迷上了“小书童”,有一天登陆时忘记密码了(他没绑定邮箱or手机),于是便把问题抛给了神犇你. 题目描述 蒟蒻虽然忘记密码,但他还记得密码是由一串字母组成.且 ...
- 洛谷P1926 小书童—刷题大军【01背包】
题目链接:https://www.luogu.org/problemnew/show/P1926 题目背景 数学是火,点亮物理的灯:物理是灯,照亮化学的路:化学是路,通向生物的坑:生物是坑,埋葬学理的 ...
- 【洛谷P1367】蚂蚁
蚂蚁 [题目描述] 在一根无限长的木棍上,用n只蚂蚁,每只蚂蚁有一个初始位置和初始朝向,蚂蚁们以每秒一个单位的速度向前移动,当两只蚂蚁相遇时,它们会掉头(掉头时间忽略不计).现给出每只蚂蚁的初始位置和 ...
- 洛谷 P1926 小书童——刷题大军
题目背景 数学是火,点亮物理的灯:物理是灯,照亮化学的路:化学是路,通向生物的坑:生物是坑,埋葬学理的人. 文言是火,点亮历史宫灯:历史是灯,照亮社会之路:社会是路,通向哲学大坑:哲学是坑,埋葬文科生 ...
- 洛谷P1914 小书童——密码
题目背景 某蒟蒻迷上了"小书童",有一天登陆时忘记密码了(他没绑定邮箱or手机),于是便把问题抛给了神犇你. 题目描述 蒟蒻虽然忘记密码,但他还记得密码是由一串字母组成.且密码是由 ...
- 洛谷—— P1926 小书童——刷题大军
https://www.luogu.org/problem/show?pid=1926#sub 题目背景 数学是火,点亮物理的灯:物理是灯,照亮化学的路:化学是路,通向生物的坑:生物是坑,埋葬学理的人 ...
随机推荐
- Feign性能优化注意事项
一.FeignClient注解 FeignClient注解被@Target(ElementType.TYPE)修饰,表示FeignClient注解的作用目标在接口上 @FeignClient(name ...
- zookeeper-如何修改源码-《每日五分钟搞定大数据》
本篇文章仅仅是起一个抛砖迎玉的作用,举一个如何修改源码的例子.文章的灵感来自 ZOOKEEPER-2784. 提一个问题先 之前的文章讲过zxid的设计,我们先复习下: zxid有64位,分成两部分: ...
- 使用PHPExcel将数据导出至Excel
安装类库 从GitHub上下载PHPExcel类库 地址:https://github.com/PHPOffice/PHPExcel 解压后将Classes文件夹移动到ThinkPHP的extend目 ...
- WebClient, HttpClient, HttpWebRequest ,RestSharp之间的区别与抉择
NETCore提供了三种不同类型用于生产的REST API: HttpWebRequest;WebClient;HttpClient,开源社区创建了另一个名为RestSharp的库.如此多的http库 ...
- 基于 Token 的身份验证:JSON Web Token(附:Node.js 项目)
最近了解下基于 Token 的身份验证,跟大伙分享下.很多大型网站也都在用,比如 Facebook,Twitter,Google+,Github 等等,比起传统的身份验证方法,Token 扩展性更强, ...
- 学习用Node.js和Elasticsearch构建搜索引擎(1):了解并运行Elasticsearch
1.学习Elasticsearch概述. 了解Elasticsearch是什么?能做什么?可以查一下elasticsearch.lucene等的相关介绍,另外也可以查查资料比较一下其它的搜索引擎sph ...
- A. Chess Placing
链接 [https://codeforces.com/contest/985/problem/A] 题意 给你一个偶数n,输入n/2个数,代表棋子的位置,有一个1*n的棋盘是黑白相间的 问你使得所有棋 ...
- Rikka with Subset HDU - 6092 (DP+组合数)
As we know, Rikka is poor at math. Yuta is worrying about this situation, so he gives Rikka some mat ...
- 使用Charles对iPhone进行Http(s)请求拦截(抓包)
首先准备工具 1> Charles (下载对应操作系统的安装包进行安装,本文使用 macOS 进行演示) 2> iPhone (本文使用SE,系统版本:iOS 10) 开始 首先,对Cha ...
- Tomcat 常见的几个报错与启动问题
报错:A child container failed during start 1.Caused by: java.lang.IllegalArgumentException: Servlet ma ...