В Pascal X девочек и Y мальчиков пошли в кинотеатр и купили билеты ** один ряд....

0 голосов
162 просмотров

В Pascal

X девочек и Y мальчиков пошли в кинотеатр и купили билеты на один ряд. Определите, возможно ли детям сесть так, чтобы рядом с одной девочкой сидел как минимум один мальчик и рядом с одним мальчиком сидела хотя бы одна девочка.
Входные данные:
Во входном потоке в первой строке через пробел записаны два натуральных числа X и Y (X, Y <= 100)<br>
Выходные данные:
В выходной поток вывести YES, если возможно указаным способом рассадить мальчиков и девочек и NO в противном случае.

Пример входного файла (input.txt):
5 5


Информатика (15 баллов) | 162 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Нарушением условия является случай, когда у мальчика (М) или у девочки (Д) оба соседа того же пола, следовательно недопустимой является расстановка МММ или ДДД. Отсюда возникает условие, что количество М и Д не могут отличаться более, чем вдвое, т.е. 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)<br>  else b := (Y / X <= 2);<br>  if b then writeln('YES')
  else writeln('NO')
end.

Тестовое решение:

YES


(142k баллов)