我试图解决一个uva问题“贪婪的礼物赠送者”(问题编号119,链接:problem&problem=55 )。我正在使用java来解决这个问题,在我的计算机上运行它时,我的代码工作得很好,但问题是当我将它提交给uva在线判断时,它显示了运行时错误。我不知道问题出在哪里。我对运行时错误也知之甚少。下面给出了我的代码
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner inp = new Scanner(System.in);
int n = 0;
String name[];
int cost[];
while (inp.hasNextLine()) {
n = inp.nextInt();
name = new String[n];
cost = new int[n];
for (int i = 0; i < n; i++) {
name[i] = inp.next();
}
for (int p = 0; p < n; p++) {
String temp_name = inp.next();
for (int i = 0; i < n; i++) {
if (temp_name.equals(name[i])) {
int gift = inp.nextInt(), num = inp.nextInt();
if (num != 0 && gift >= 0) {
cost[i] -= (int) (gift / num) * (int) num;
}
for (int k = 0; k < num; k++) {
String temp_name_2 = inp.next();
for (int j = 0; j < n; j++) {
if (temp_name_2.equals(name[j])) {
if (num != 0 && gift >= 0) {
cost[j] += gift / num;
}
break;
}
}
}
break;
}
}
}
for (int i = 0; i < n; i++) {
System.out.println(name[i] + " " + cost[i]);
}
}
}
}
发布于 2015-03-05 14:26:10
我认为错误在于您使用的是System.in
,而在线判断器为程序的输入提供了一个文件。输入部分的最后一个字符串:
输入由一个或多个组组成,并由结束文件终止.
https://stackoverflow.com/questions/28887411
复制