SP10286 DOTAA - DOTA HEROES 题解

· · 题解

这道题目并不难,因为只有入门的难度。

题目大意

这道题目的意思大概为:我方有 n 个英雄,血量为 a,敌方防御塔有 m 个,它的伤害为 k 且每一次只能攻击一位英雄,问:我方能否到达敌方大本营?

解题思路

统计所有英雄可以承受的防御塔的攻击次数,如果这个次数大于等于防御塔的数量,即我方在未到达敌方大本营时就已经覆灭了。否则即我方可以到达敌方大本营。

CODE:

#include <iostream>
#include <cmath>   //记得要加上
using namespace std;
int main() {
    int t;
    scanf("%d", &t);
    while (t--) {   //注意不要写成 t
        int xueliang = 0, n, m, k;
        scanf("%d%d%d", &n, &m, &k);
        while (n--) {
            double a;
            scanf("%lf", &a);
            xueliang += floor(a / k);
        }
        if (xueliang >= m)
            puts("YES");
        else
            puts("NO");
    }
    return 0;
}