大疆软件A卷的第二题,请问什么叫输入多组数据???
用java编的,请问什么叫输入多组数据,这个多组怎么界定??while(true)死循环吗????
一个输入把我搞死了,,,,,测试用例都是对的,,通过率是0,,,我特么。。
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String line1 = scanner.nextLine();
String str[] = line1.split("\\s+");
int lcount = Integer.valueOf(str[0]); //零食种类,即行数
int money = Integer.valueOf(str[1]); //总钱数
int sumnums = 0;
Listlistv = new LinkedList();
Listlistp = new LinkedList();
listv.add(0);
listp.add(0);
for (int i = 0; i < lcount; i++) {
String line2 = scanner.nextLine();
String arr[] = line2.split("\\s+");
int value = Integer.valueOf(arr[0]);
int manyil = Integer.valueOf(arr[1]);
int nums = Integer.valueOf(arr[2]);
sumnums = sumnums + nums;
for (int k = 0; k < nums; k++) {
listv.add(value);
listp.add(manyil);
}
}
int dp[][] = new int[sumnums + 1][money + 1]; //物品数量、总钱数
int v[] = new int[listv.size()];
for (int i = 0; i < v.length; i++) {
v[i] = listv.get(i);
}
int p[] = new int[listp.size()];
for (int i = 0; i < p.length; i++) {
p[i] = listp.get(i);
}
// int v[] = {0,26,26,26,26,5,5,5,5,5,5};//价格
// int p[] = {0,100,100,100,100,1,1,1,1,2,2};//满意度
for (int i = 1; i < dp.length; i++) {
for (int j = 1; j < dp[0].length; j++) {
if (j < v[i]) {
dp[i][j] = dp[i - 1][j];
continue;
}
int v1 = dp[i - 1][j - v[i]] + p[i];
int v2 = dp[i - 1][j];
dp[i][j] = v1 > v2 ? v1 : v2;
}
}
System.out.println(dp[sumnums][money]);
}
