Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Заданы две клетки шахматной доски. Если они покрашены в один цвет, то выведите слово «Yes!», а если в разные цвета – то «No!».
- ЗАМЕЧАНИЕ. И горизонтали, и вертикали задаются порядковым номером.
- */
- using System;
- namespace ChessBoard {
- class Program {
- static void Main() {
- // считываем
- int x1 = int.Parse(Console.ReadLine());
- int y1 = int.Parse(Console.ReadLine());
- int x2 = int.Parse(Console.ReadLine());
- int y2 = int.Parse(Console.ReadLine());
- // выводим
- Console.WriteLine(((x1+y1+x2+y2) & 1) == 1 ? "No!" : "Yes!");
- }
- }
- }
- /*
- Если присмотреться к доске, то можно заметить, что:
- • Для чёрных клеток чётность горизонтали и вертикали одинакова.
- • Для белых клеток чётность горизонтали и вертикали различна.
- ========================================================================================================================
- Важное свойство чётности суммы:
- Сумма двух чисел одинаковой чётности всегда чётна, сумма двух чисел различной чётности всегда нечётна
- ========================================================================================================================
- Это значит, что:
- • Сумма номеров горизонтали и вертикали чёрной клетки всегда чётная.
- • Сумма номеров горизонтали и вертикали белой клетки всегда нечётная.
- Из этого следует:
- • Сумма номеров горизонталей и вертикалей двух клеток ОДИНАКОВОГО цвета всегда чётная!
- • Сумма номеров горизонталей и вертикалей одной белой и одной чёрной клеток всегда нечётная! (чёрной или белой может быть любая из клеток).
- Таким образом достаточно вычислить сумму заданных номеров горизонталей и вертикалей обеих клеток и определить её чётность.
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement