Вопрос по информатике:
В Pascal
X девочек и Y мальчиков пошли в кинотеатр и купили билеты на один ряд. Определите, возможно ли детям сесть так, чтобы рядом с одной девочкой сидел как минимум один мальчик и рядом с одним мальчиком сидела хотя бы одна девочка.
Входные данные:
Во входном потоке в первой строке через пробел записаны два натуральных числа X и Y (X, Y <= 100)
Выходные данные:
В выходной поток вывести YES, если возможно указаным способом рассадить мальчиков и девочек и NO в противном случае.
Пример входного файла (input.txt):
5 5
- 14.02.2018 04:11
- Информатика
- remove_red_eye 5205
- thumb_up 32
Ответы и объяснения 1
Нарушением условия является случай, когда у мальчика (М) или у девочки (Д) оба соседа того же пола, следовательно недопустимой является расстановка МММ или ДДД. Отсюда возникает условие, что количество М и Д не могут отличаться более, чем вдвое, т.е. 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
- 15.02.2018 01:55
- thumb_up 5
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.