[JAVA] ABC093 C - Gleiche Ganzzahlen

Bei drei ganzen Zahlen besteht das Problem, herauszufinden, wie viele Operationen erforderlich sind, um dieselbe Zahl gemäß den beiden Methoden zu erstellen. Ich konnte die Erklärung der Modellantwort auch nach dem Lesen nicht verstehen und löste sie mit meiner eigenen Lösung.

Lösung

Fügen Sie drei Zahlen in ein Array ein und sortieren Sie sie in aufsteigender Reihenfolge. Beispiel) 4,8,5 Mit der Arrays.sort-Methode Es ändert sich in der Reihenfolge 4, 5, 8. Während Array [0] <Array [1] ist, erhöhen Sie Array [0] um +2. Wenn Array [0] == Array [1], Array [0] ++, Array [1] ++. Kehren Sie außerdem zum Anfang der while-Anweisung zurück und führen Sie die Array.sort-Methode aus. Im Fall dieses Beispiels Array [0] wird um +2 auf 6,5,8 erhöht, Je nach Methode beträgt die Reihenfolge 5,6,8. Eine Lösung kann erhalten werden, indem dies viele Male wiederholt wird. Ich kann jedoch nicht beweisen, warum diese Methode die kürzeste ist. Wenn jemand weiß, lassen Sie sie bitte in den Kommentaren.

import java.util.Arrays; import java.util.Scanner; public class Main{

public static void main(String[] args) {
	Scanner stdIn = new Scanner(System.in);
	int [] array = new int[3];
	array[0] = stdIn.nextInt();
	array[1] = stdIn.nextInt();
	array[2] = stdIn.nextInt(); 
	int cnt = 0;
	
	while(true) {
		
		Arrays.sort(array);
		
		if(array[0] == array[1] && array[1] == array[2]) {
			break;
		}
		
		if(array[0]<array[1]) {
			cnt++;
			array[0] += 2;
			continue;
		}
		if(array[0] == array[1]) {
			cnt++;
			array[0]++;
			array[1]++;
		}
	
	}
	System.out.println(cnt);
	
}

}

Recommended Posts

ABC093 C - Gleiche Ganzzahlen
ABC - 013-A & B & C.
ABC - 023 - A & B & C.
ABC - 036-A & B & C.
ABC - 010 - A & B & C.
ABC - 028 - A & B & C.
atcoder ABC113 C Problem
ABC - 015 - A & B & C.
ABC - 128 - A & B & C.
ABC - 012-A & B & C.
ABC - 018 - A & B & C.
ABC - 054 - A & B & C.
ABC - 017 - A & B & C.
ABC - 029 - A & B & C.
ABC - 022 - A & B & C.
ABC - 019 - A & B & C.
ABC - 020 - A & B & C.
ABC - 030 - A & B & C.
ABC - 127 - A & B & C.
ABC - 007 - A & B & C.
ABC - 132 - A & B & C.
ABC - 026 - A & B & C.
ABC - 014 - A & B & C.
ABC - 016 - A & B & C.
ABC - 011-A & B & C.
ABC - 031 - A & B & C.
ABC - 021 - A & B & C.
ABC - 025 - A & B & C.
atcoder ABC115 C Problem
ABC - 024 - A & B & C.
ABC - 027 - A & B & C.
ABC - 080 - A & B & C.
ABC - 129 - A & B & C & D.
ABC - 133 - A & B & C & D.
ABC - 122 - A & B & C & D.
ABC - 125 - A & B & C & D.
ABC - 130 - A & B & C & D.
ABC - 126 - A & B & C & D.
ABC - 134 - A & B & C & D & E.
ABC - 131 - A & B & C & D & E.