CF1463-A. Dungeon
发布日期:2021-05-13 02:07:34 浏览次数:18 分类:博客文章

本文共 751 字,大约阅读时间需要 2 分钟。

题意:

你面前有三个怪物,他们分别有a, b, c点血量。现在你可以指定一个怪物,用大炮向他们射击,之后该怪物就会掉一滴血。每七次射击就会使得炮弹威力加强一次,即第7, 14, 21次射击的时候炮弹威力会被加强,加强的炮弹可以对三个怪物分别造成一点伤害。现在问你可不可能在某次被加强的炮弹发射后,使得所有的怪物血量变成0。

思路:

首先每七次射击,总共会造成9点伤害(6 + 3),因此如果要让所有怪物在某次被加强的炮弹发射后血量变为0,则需要他们的血量和为9的倍数。其次每个怪物的血量不能少于被加强的炮弹的发射个数,因为每次被加强的炮弹发射后所有的怪物血量都会减一,而血量不会不会为负数。

AC代码:

#include 
#include
const int inf = 0x3f3f3f3f;int main () { int T, a[3]; scanf ("%d", &T); while (T--) { int tot = 0, minn = inf; for (int i = 0; i < 3; i++) { scanf ("%d", &a[i]); tot += a[i]; minn = std::min (minn, a[i]); } if (minn < tot / 9 || tot % 9 != 0) { printf ("NO\n"); } else { printf ("YES\n"); } } return 0;}
上一篇:CF1463-B. Find The Array
下一篇:CF1462-F. The Treasure of The Segments

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年04月15日 15时02分15秒