Задача. Даны действительные положительные числа [latex]a, b, c, d[/latex]. Выяснить, можно ли прямоугольник со сторонами [latex]a, b[/latex] уместить внутри прямоугольника со сторонами [latex]c, d [/latex] так, чтобы каждая из сторон одного прямоугольника была параллельна или перпендикулярна каждой из сторон второго прямоугольника.
Тесты:
c | d | a | b | Результат | Комментарий |
4 | 6 | 5 | 5 | Нельзя разместить | Пройден |
4 | 8 | 7 | 3 | Можно разместить | Пройден |
23 | 45 | 87 | 23 | Нельзя разместить | Пройден |
15 | 33 | 15 | 12 | Можно разместить | Пройден |
7 | 9 | 7 | 13 | Нельзя разместить | Пройден |
Код на С
1 2 3 4 5 6 7 8 9 10 11 |
#include <stdio.h> int main(void) { double a,b,c,d; scanf("%lf %lf %lf %lf", &c, &d, &a, &b); if (((a<d)&&(b<c))||((a<c)&&(b<d))) printf("Можно разместить"); else printf("Нельзя разместить"); return 0; } <strong> </strong> |
Код на Java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
import java.util.*; import java.lang.*; import java.io.*; class Ideone { public static void main (String[] args) throws java.lang.Exception { Scanner in=new Scanner(System.in); double a,b,c,d; c=in.nextDouble(); d=in.nextDouble(); a=in.nextDouble(); b=in.nextDouble(); if (((a<d)&&(b<c))||((a<c)&&(b<d))) System.out.print("Можно разместить"); else System.out.print("Нельзя разместить"); } } |
Решение: Прямоугольник можно разместить внутри другого если, стороны меньше соответствующих им параллельным. Согласно условию существует две различные комбинации размещения прямоугольника. Проверив необходимые неравенства, определим можно или нельзя разместить прямоугольник внутри другого.
Ознакомиться с кодом на С можно здесь, а с кодом на Java здесь.
Зачтено. Только вставьте ссылку на код в ideone в конце текста.