[英]Google Kickstart: Round C, 2020: Stable Wall - Backtracking Solution Error
[英]Getting sample failed in Google Kick Start 2020 Round A
我開始通過 google kick start 測試我的技能,並選擇一個過去的問題來看看它是如何工作的,然后我陷入了困境。
這是我的 Google Kick Start Round A 2020 計划的 Java 代碼:分配 我已經通過了所有測試用例並由我自己測試,但是當我將代碼提交給 google kick start 競賽時,我得到了示例失敗:WA我不知道有什么問題有這些問題...請幫幫我
問題
有N棟房屋出售。 第 i 間房子花費 A 美元購買。 你有 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 美元購買第一和第三套房子。 在示例案例#2 中,您的預算為 50 美元。 你可以花30 + 10 + 10 = 50美元購買1號、3號和4號房子。 在示例案例 #3 中,您的預算為 300 美元。 你不能買任何房子(所以答案是 0)。
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));
}
}
}
在輸出中,您應該使用“Case #%d: %d”而不是“Case #%d :%d”。 小心點!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.