Регистрация
16 Сен 2013
Сообщения
85
Репутация
0
Спасибо
0
Монет
0
За многие годы заточения узник замка Иф проделал в стене прямоугольное отверстие размером D×E. Замок Иф сложен из кирпичей размером A×B×C. Определите, сможет ли узник выбрасывать кирпичи в море через это отверстие, если стороны кирпича должны быть параллельны сторонам отверстия.



Входные данные:



Программа получает на вход числа A, B, C, D, E. Все числа натуральные, не превосходящие 10000.



Выходные данные:



Программа должна вывести слово YES или NO.



Примеры

Ввод

1

1

1

1

1

Вывод

YES

Ввод

2

2

2

1

1

Вывод

NO

--------------------------------------------------------------------------------------------------------------------------------------

Я написал такой код



#include <iostream>

using namespace std;

int main()

{

int a, b, c, d, e;

cin >> a >> b >> c >> d >> e;

if (d * e >= a * b || d * e >= a * c || d * e >= b * c) {

cout << "YES";

}

else {

cout << "NO";

}

}



Сайт почему-то показывает что мой код прошел 3 проверки, а на 4й ответ не такой, не понимаю что здесь не так
 
#include
#include
using namespace std;
class Brick {
public:
pair least()const {
pair box;
box.first = min(a, b);
box.second = max(a, b);
if (c < box.first) {
box.second = box.first;
box.first = c;
} else if (c < box.second) {
box.second = c;
}
return box;
}
private:
double a;
double b;
double c;
friend istream& operator>>(istream& inp, Brick& brick) {
return inp >> brick.a >> brick.b >> brick.c;
}
};
class Hole {
public:
bool ispasses(const Brick& brick)const {
const auto [first, second] = brick.least();
return first (istream& inp, Hole& hole) {
return inp >> hole.a >> hole.b;
}
};
int main() {
Brick brick;
cin >> brick;
Hole hole;
cin >> hole;
puts(hole.ispasses(brick) ? "YES" : "NO");
}
 
Проверка по площади не верна. Кирпич может быть километровым но толщиной в 1 ангстрем. Алгоритм - сравнение двух меньших сторон кирпича со сторонами отверстия.
 
Попробуй такое усливие

a &gt;= d &amp;&amp; b &gt;= e || a &gt;= e &amp;&amp; b &gt;= d || b &gt;= d &amp;&amp; c &gt;= e || b &gt;= e &amp;&amp; c &gt;= d
 
Назад
Сверху