桜羽 エマ
134 字
1 分钟
题解:AT_abc368_c [ABC368C] Triple Attack
题意言简意赅无需赘述。注意每次只攻击最前面生命值为正数的怪物。
思路解析
由题意可知怪物生命减少数量以 1 1 3 为一组循环,所以只需先将每组血量一起减少 ,如果这只怪物在本回合没有死则再次执行上述操作即可。
代码实现
代码实现非常简单。
#include<bits/stdc++.h>using namespace std;typedef long long ll;const ll N=2e5+10;ll n,i,x,t,f,a[N];int main(){ cin>>n; for(i=1;i<=n;i++)cin>>a[i]; for(i=1;i<=n;i++){ if(a[i]>0&&!f)a[i]--,f++,x++; if(a[i]>0&&f==1)a[i]--,f++,x++; if(a[i]>0&&f==2)a[i]-=3,f=0,x++; t=a[i]/5;x+=t*3;a[i]-=t*5; if(a[i]>0)a[i]--,f++,x++; if(a[i]>0)a[i]--,f++,x++; if(a[i]>0)a[i]-=3,f=0,x++; } cout<<x;}支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!
题解:AT_abc368_c [ABC368C] Triple Attack
https://blog.walterfang.site/posts/solution-at_abc368_c/ 最后更新于 2024-08-25,距今已过 500 天
部分内容可能已过时
Walter_Fang