На столе две коробки.
Первый блок имеет размер X1 x Y1 x Z1, а второй блок имеет размер X2 x Y2 x Z2.
Вам необходимо определить, какую коробку можно поместить в другую коробку. Вы можете вращать оба поля, как вы хотите.
Вход содержит две строки. Первая строка содержит числа X1, Y1, Z1, вторая строка содержит числа X2, Y2, Z2. Все числа целые числа и больше 0.
«Box 1 = Box 2». «Box 1 <Box 2».«Box 1> Box 2».«Incomparable». import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
int b = scanner.nextInt();
int c = scanner.nextInt();
int a1 = scanner.nextInt();
int b1 = scanner.nextInt();
int c1 = scanner.nextInt();
if (((a + b + c) == (a1 + b1 + c1)) & ((a == a1 | a == b1 |
a == c1) & (b == a1 | b == b1 | b == c1) & (c == a1 |
c == b1 | c == c1))) {
System.out.println("Box 1 = Box 2");
} else if (((a + b + c) < (a1 + b1 + c1)) & ((a < a1 | a <
b1 | a < c1) & (b < a1 | b < b1 | b < c1) & (c < a1 |
c < b1 | c < c1))) {
System.out.println("Box 1 < Box 2");
} else if (((a + b + c) > (a1 + b1 + c1)) & ((a > a1 | a >
b1 | a > c1) & (b > a1 | b > b1 | b > c1) & (c > a1 |
c > b1 | c > c1))) {
System.out.println("Box 1 > Box 2");
} else if ((a > a1 | a >= b1 | a >= c1) & (b > a1 | b >= b1
| b >= c1) & (c > a1 | c >= b1 | c >= c1)) {
System.out.println("Incomparable");
}
}
}
Все не так, ребята. Зачем суммы?
Упорядочите тройки чисел по возрастанию. А потом сравнивайте поэлементно.
Одна коробка помещается в другую, если каждый элемент из упорядоченного списка размеров первой коробки (строго?) меньше соответствующего элемента из упорядоченного списка размеров второй коробки.
P.S. И нет никакой необходимости использовать полное вычисление булевских выражений.
Прошло такое решение. Что в нем можно улучшить?
Arrays.sort(arr1);
Arrays.sort(arr2);
int eq = 0, ge = 0, le = 0;
for (int i = 0; i < arr1.length; i++) {
eq = eq + (arr1[i] == arr2[i]? 1 : -1);
ge = ge + (arr1[i] >= arr2[i]? 1 : -1);
le = le + (arr1[i] <= arr2[i]? 1 : -1);
}
if (eq == arr1.length) {
System.out.println("Box 1 = Box 2");
} else if (ge == arr1.length) {
System.out.println("Box 1 > Box 2");
} else if (le == arr1.length) {
System.out.println("Box 1 < Box 2");
} else {
System.out.println("Incomparable");
}
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости