网球比赛结束后,每个球员都被问到他有多少场比赛。一名运动员不能与另一名运动员进行多于一场比赛。作为输入,您唯一拥有的是运动员人数和每位运动员参加的比赛。作为输出,如果可以根据运动员的回答完成比赛,则为 1,否则为 0。例如:
Input: 4 3 3 3 3 Output: 1
Input: 6 2 4 5 5 2 1 Output: 0
Input: 2 1 1 Output: 1
Input: 1 0 Output: 0
Input: 3 1 1 1 Output: 0
Input: 3 2 2 0 Output: 0
Input: 3 4 3 2 Output: 0
输入的第一个数字不是运动员答案的一部分,它是参加比赛的运动员人数,例如在 6 2 4 5 5 2 1 我们有 6 名运动员参加,他们的答案是 2 4 5 5 2 1.
到目前为止,这是我们写的,但效果不是很好:
import java.util.Scanner;
import java.util.Arrays;
public class Tennis {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String N;
int count;
int sum = 0;
int max;
int activeAthletes;
int flag;
System.out.printf("Give: ");
N = input.nextLine();
String[] arr = N.split(" ");
int[] array = new int[arr.length];
for (count = 0; count < arr.length; count++) {
array[count] = Integer.parseInt(arr[count]);
//System.out.print(arr[count] + " ");
}
for (count = 1; count < arr.length; count++) {
sum += array[count];
}
//System.out.println("\n" + sum);
activeAthletes = array[0];
for (count = 1; count < array.length; count++) {
if (array[count] == 0) {
activeAthletes--;
}
}
max = array[1];
for (count = 2; count < array.length; count++) {
if (array[count] > max) {
max = array[count];
}
}
// System.out.println(max);
if ((sum % 2 == 0) && (max < activeAthletes)) {
flag = 1;
} else{
flag = 0;
}
System.out.println(flag);
}
}
我不想要一个直接的解决方案,也许只是一些提示和提示,因为我们真的不知道还能做什么,我重复一遍,即使我会把它标记为家庭作业(因为我觉得版主会再次关闭它)它不是,这只是我兄弟发现的问题,我们正在努力解决。
好吧,你们中的许多人已经回答了,我真的很感激,但是因为我明天有工作,所以我需要睡觉,所以我明天可能会阅读其余的答案,看看有什么用