【问题标题】:Getting sample failed in Google Kick Start 2020 Round A在 Google Kick Start 2020 Round A 中获取样本失败
【发布时间】:2020-12-14 21:35:26
【问题描述】:

我开始通过 google kick start 测试我的技能,然后选择一个过去的问题来看看它是如何工作的,然后我就卡在了某个点上。

这是我用于 Google Kick Start Round A 2020 计划的 Java 代码:分配 我已经通过了所有测试用例并自己进行了测试,但是当我将代码提交给谷歌启动竞赛时,我得到了 Sample Failed:WA 我不知道这些问题有什么问题...请帮助我

这里是描述

问题

有 N 栋房屋待售。第 i 间房子花费 Ai 美元购买。您的预算为 B 美元。

你最多可以买多少房子? 输入

输入的第一行给出了测试用例的数量,T.T 测试用例紧随其后。每个测试用例都以包含两个整数 N 和 B 的单行开始。第二行包含 N 个整数。第 i 个整数是 Ai,即第 i 个房子的成本。 输出

对于每个测试用例,输出一行包含 Case #x: y,其中 x 是测试用例编号(从 1 开始),y 是您可以购买的最大房屋数量。 限制

时间限制:每个测试集 15 秒。 内存限制:1GB。 1≤T≤100。 1≤B≤10^5。 1 ≤ Ai ≤ 1000,对于所有 i。 测试集 1

1 ≤ N ≤ 100。 测试集 2

1 ≤ N ≤ 10^5。 样本

输入

输出

3 4 100 20 90 40 90 4 50 30 30 10 10 3 300 999 999 999

案例 #1:2 案例#2:3 案例#3:0

在示例案例 #1 中,您的预算为 100 美元。您可以花 20 + 40 = 60 美元购买 1 号和 3 号房屋。 在示例案例 #2 中,您的预算为 50 美元。您可以花 30 + 10 + 10 = 50 美元购买第 1、第 3 和第 4 套房屋。 在示例案例 #3 中,您的预算为 300 美元。你不能买任何房子(所以答案是0)。

注意:与之前的版本不同,在 Kick Start 2020 中,所有测试集都是可见的判定测试集,这意味着您在提交时会收到即时反馈。

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Scanner;

public class Solution {

    public static void main(String[] args) {
        Scanner sc = new Scanner(new BufferedReader(new InputStreamReader(System.in)));
        int testCases = sc.nextInt();
        int n;
        double b;
        int[] a;
        int count;
        for (int i = 1; i <= testCases; i++) {
            n = sc.nextInt();
            a = new int[n];
            b = sc.nextDouble();
            for (int j = 0; j < n; j++) {
                a[j] = sc.nextInt();
            }
            Arrays.sort(a);
            count = 0;

            for (int j = 0; j < n; j++) {
                b = b - a[j];
                if (b < 0) {
                    break;
                }
                count++;
            }
            System.out.println(String.format("Case #%d :%d", i, count));
        }

    }

}

【问题讨论】:

  • 您的文本格式是否正确? 105 真的是 105 还是 10^5?
  • 是的,实际上是 10^5
  • 我怀疑你的问题是双打并不完全代表大整数。
  • 所以你的意思是我需要改变codedouble b;
  • 这就是我想尝试的方法,但我没有尝试重现该问题,所以我不确定它是否会解决它。

标签: java google-code


【解决方案1】:

在输出中,您应该使用“Case #%d: %d”而不是“Case #%d :%d”。 小心点!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多