Даны действительные числа [latex]a,b,c,x,y.[/latex] Выяснить,пройдет ли кирпич с ребрами [latex]a,b,c[/latex] в прямоугольное отверстие со сторонами [latex]x[/latex]и [latex]y[/latex]. Просовывать кирпич в отверстие разрешается только так,чтоб каждое из его ребер было параллельно или перпендикулярно каждой из сторон отверстия.
a | b | c | x | y | Комментарий |
78 | 1 | 1 | 2 | 2 | Yes |
-2 | 15 | 1 | 23 | 63 | The task is not correct |
2.123 | 5.189 | 1.56 | 7 | 5 | Yes |
13.213 | 4815162342 | 666 | 7 | 12 | No |
Код программы:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
#include <stdio.h> #include <math.h> int main(void) { double a,b,c,x,y; scanf("%lf %lf %lf %lf %lf",&a,&b,&c,&x,&y); if ((a<=0)||(b<=0)||(c<=0)||(x<=0)||(y<=0)) { printf("The task is not correct"); } else { if (((a<x)&&(b<y))||((a<y)&&(b<x))||((a<x)&&(c<y))||((a<y)&&(c<x))|| ((b<x)&&(c<y))||((b<y)&&(c<x))) { printf("Yes"); } else { printf("No"); } } return 0; } |
Код на Java:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
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=in.nextDouble(); double b=in.nextDouble(); double c=in.nextDouble(); double x=in.nextDouble(); double y=in.nextDouble(); if ((a<=0)||(b<=0)||(c<=0)||(x<=0)||(y<=0)) { System.out.println("The task is not correct"); } else { if (((a<x)&&(b<y))||((a<y)&&(b<x))||((a<x)&&(c<y))||((a<y)&&(c<x))|| ((b<x)&&(c<y))||((b<y)&&(c<x))) { System.out.println("Yes"); } else { System.out.println("No"); } } } } |
Сначала проверим корректность входных данных,потом проверим условие «входимости» каждой из граней. Если условие верно,то выводим «Yes»,если нет- «No».
Условие «входимости» заключается в том ,что мы сравниваем длины сторон прямоугольника и ребер кирпича.
Если кирпич имеет хотя бы одну общую точку с прямоугольником,то он не пройдет,поэтому неравенство строгое.
Запустить код и проверить тесты можно тут.
Запустить код и проверить тесты можно тут.
Приведите, пожалуйста это загадочное «условие “входимости” каждой из граней.» Кстати, после «граней.» не хватает пробела.
Интересно, а если размер кирпича равен точно размеру отверстия, он проходит в отверстие или нет? Это, в некотором смысле, философский вопрос. Для меня Ваш ответ на него неочевиден, ну в смысле из текста программы можно сделать догадки, но лучше то, как это Вы разрешили этот спорный момент указать в отчете.
Исправил
Длины пишется с одной n. И поправьте пунктуацию — после точки должен быть пробел.
Исправил
Засчитано, 10 баллов.