Вопрос задан 17.05.2018 в 21:16. Предмет Информатика. Спрашивает Пряничников Александр.

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

возможно ли детям сесть так, чтобы рядом с одной девочкой сидел как минимум один мальчик и рядом с одним мальчиком сидела хотя бы одна девочка. Входные данные: Во входном потоке в первой строке через пробел записаны два натуральных числа X и Y (X, Y <= 100) Выходные данные: В выходной поток вывести YES, если возможно указаным способом рассадить мальчиков и девочек и NO в противном случае. Пример входного файла (input.txt): 5 5
0 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)
  else b := (Y / X <= 2);
  if b then writeln('YES')
  else writeln('NO')
end.

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

YES


0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос