テニストーナメントの後、各選手は何試合したか尋ねられました。アスリートは、別のアスリートと複数の試合をすることはできません。入力として得られるのは、アスリートの数と各アスリートの試合数だけです。出力として、アスリートの回答に従ってトーナメントを行うことができた場合は 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
入力の最初の数字は、アスリートの回答の一部ではありません。これは、トーナメントに参加したアスリートの数です。 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);
}
}
他に何をすべきか本当にわからないので、繰り返しますが、宿題としてタグ付けしますが(モデレーターが再び閉じると思うため)、そうではありません、それは私の兄弟が見つけたものであり、私たちは解決しようとしています.
多くの方から回答をいただき、本当に感謝していますが、明日仕事があるので寝なければならないので、明日残りの回答を読んで何がうまくいくか見てみようと思います。