【洛谷p1926】小书童——蚂蚁大战

f(今天开学第一天)

小书童——蚂蚁大战【传送门】

洛谷算法标签:

【洛谷p1926】小书童——蚂蚁大战这个题要用排序是真的很神奇;


首先我们来理解一下题意:首先蚂蚁们按血量接受打击【魔鬼操作】,血量最少的蚂蚁要走到最前面,所以我们可以用到sort(但不要忘记头文件#include<algorithm>)。所有塔集中打一个蚂蚁,如果蚂蚁血量为0以下(这是重点)塔才切换目标。当第r秒时,血量在0及0以上的蚂蚁将蛋糕搬回。问:最终蚂蚁家里会有多少块蛋糕?

这个题坑就坑当蚂蚁血量为0时还要再打一次蚂蚁,而不是算为死亡,题目要排序尽管不理解,但你也拿他没办法对吧?

ac代码如下:

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int n,m,k,w,r,c,b;
int a[];
int main()
{
cin>>n>>m>>k>>w>>r;
for(int i=;i<=n;i++)
cin>>a[i];
b=m/k;
c=b*w;
sort(a+,a+n+);
int j=;int sum=,i=;
while(i<=r)
{
i++;
a[j]-=c;
if(a[j]<)
{
j++;
}
} for(int i=;i<=n;i++)
if(a[i]>)sum++;
cout<<sum<<endl;
}

end-

上一篇:x264阅读记录-1


下一篇:Tmux 日常快捷键 及配置