В Pascal X девочек и Y мальчиков пошли в кинотеатр и купили билеты на один ряд. Определите, возможно ли детям сесть так, чтобы рядом с одной девочкой сидел как минимум один мальчик и рядом с одним мальчиком сидела хотя бы одна ...
В Pascal
X девочек и Y мальчиков пошли в кинотеатр и купили билеты на один ряд. Определите, возможно ли детям сесть так, чтобы рядом с одной девочкой сидел как минимум один мальчик и рядом с одним мальчиком сидела хотя бы одна девочка.
Входные данные:
Во входном потоке в первой строке через пробел записаны два натуральных числа X и Y (X, Y <= 100)
Выходные данные:
В выходной поток вывести YES, если возможно указаным способом рассадить мальчиков и девочек и NO в противном случае.
Пример входного файла (input.txt):
5 5
Ответ(ы) на вопрос:
Нарушением условия является случай, когда у мальчика (М) или у девочки (Д) оба соседа того же пола, следовательно недопустимой является расстановка МММ или ДДД. Отсюда возникает условие, что количество М и Д не могут отличаться более, чем вдвое, т.е. 0.5 ≤ X/Y ≤ 2
Программа должна учитывать особенности реализации целых и вещественных чисел в ЭВМ, а также особенности выполнения операции деления и сравнения.
var
X, Y: integer;
b: boolean;
F: Text;
begin
Assign(f,'input.txt');
Reset(f);
Readln(X,Y);
Close(f);
if X > Y then b := (X / Y <= 2)
else b := (Y / X <= 2);
if b then writeln('YES')
else writeln('NO')
end.
Тестовое решение:
YES
Не нашли ответ?
Похожие вопросы