模拟DNF放技能的蓝耗问题(P2006题题解,Java语言描述)

题目要求

P2006题目链接
模拟DNF放技能的蓝耗问题(P2006题题解,Java语言描述)
模拟DNF放技能的蓝耗问题(P2006题题解,Java语言描述)

分析

看来出题人喜欢DNF啊,还对蓝充足颇为渴求 (废话,没蓝干甚) ……

这题貌似水题,但AC率不高,因为有坑诶……

首先是耗蓝为0的时候,伤害还是打的出来的(参考平A)……这将导致RE(除零)或者WA……

还有就是这个迷幻的题意表述啊,真的是……其实它的意思是:我们可以随便选一种技能,随便放,直到蓝不够用,对方假设不伤害我们。每次模拟一种技能,看看有几种技能能符合使用要求。

就是这个意思,其实分析到这里就回归水题本质了,但问题是这破题……ε=(´ο`*)))唉……没啥……看代码就行了~~

StringBuilder,看看,好使吧……多用这个才是正道……

AC代码(Java语言描述)

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int max = scanner.nextInt(), num = scanner.nextInt(), min = scanner.nextInt();
        long consume, damage;
        StringBuilder builder = new StringBuilder();
        for (int i = 1; i <= num; i++) {
            consume = scanner.nextLong();
            damage = scanner.nextLong();
            if ((consume == 0 && damage > 0) || (consume > 0 && consume <= max && damage*(max/consume) >= min)) {
                builder.append(i).append(" ");
            }
        }
        scanner.close();
        if (builder.length() == 0) {
            System.out.println(-1);
        } else {
            System.out.println(builder.toString().trim());
        }
    }
}
模拟DNF放技能的蓝耗问题(P2006题题解,Java语言描述)模拟DNF放技能的蓝耗问题(P2006题题解,Java语言描述) 进阶的JFarmer 发布了407 篇原创文章 · 获赞 666 · 访问量 6万+ 私信 关注
上一篇:如何在CentOS 8服务器上安装ClamAV


下一篇:如何在CentOS 8上安装Suricata?