Нарушением условия является случай, когда у мальчика (М) или у девочки (Д) оба соседа того же пола, следовательно недопустимой является расстановка МММ или ДДД. Отсюда возникает условие, что количество М и Д не могут отличаться более, чем вдвое, т.е. 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.
Программа должна учитывать особенности реализации целых и вещественных чисел в ЭВМ, а также особенности выполнения операции деления и сравнения.
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