Задание:
Имеется прямоугольное отверстие со сторонами a и b и кирпич с ребрами x, y z. Требуется составить условие прохождения кирпича в отверстие. (Программный код нужно писать в Паскале)
Решение:
Коробки (Время: 1 сек. Память: 16 Мб Сложность: 19%) На столе лежат коробка размера A1 × B1 × C1 и коробка размера A2 × B2 × C2. Выясните можно ли одну из этих коробок положить в другую, если разрешены повороты коробок вокруг любого ребра на угол 90 градусов. Входные данные Первая строка входного файла содержит три целых числа A1, B1 и C1. Вторая строка входного файла содержит три целых числа A2, B2 и C2. Все числа положительны и не превосходят 1000. Выходные данные Если коробки одинаковы, выведите "Boxes are equal". Если первая коробка может быть положена во вторую, выведите "The first box is smaller than the second one". Если вторая коробка может быть положена в первую, выведите "The first box is larger than the second one". Иначе, выведите "Boxes are incomparable"program gt; label 1; var a,b: array[1… 1000]of longint; a1,b1,c1,a2,b2,c2,p,l,n,i,j: longint; beginread (a1,b1,c1,a2,b2,c2); a[1]: =a1; a[2]: =b1; a[3]: =c1; b[1]: =a2; b[2]: =b2; b[3]: =c2; for i: =1 to 2 dobeginfor j: =1 to 3-i dobeginp: =A[j]; l: =A[j+1]; if A[j]>A[j+1] then beginA[j]: =l; A[j+1]: =p; end; end; end; for i: =1 to 2 dobeginfor j: =1 to 3-i dobeginp: =b[j]; l: =b[j+1]; if b[j]>b[j+1] then beginb[j]: =l; b[j+1]: =p; end; end; end; if (a[1]=b[1]) and (a[2]=b[2]) and (a[3]=b[3]) then beginwriteln ('Boxes are equal'); goto 1; end; if (a[1] <= b[1]) and (a[2]=b[1]) and (a[2]>b[2]) and (a[3]>=b[3]) or (a[1]>=b[1]) and (a[2]>=b[2]) and (a[3]>b[3]) or (a[1]>b[1]) and (a[2]>=b[2]) and (a[3]>=b[3]) then beginwriteln ('The first box is larger than the second one'); goto 1; end; writeln ('Boxes are incomparable'); 1: end.
Знаете другой ответ?