Наложим на шахматную доску систему прямоугольных координат так, чтобы в левом нижнем углу была клетка с координатами (1,1) - строка 1, колонка 1. тогда в правом верхнем углу будет клетка с координатами (8,8) - строка 8, колонка 8. и вспомним, что шахматная доска кладется так, чтобы у игрока, играющего белыми, правое угловое поле было белого цвета. тогда клетка (1,1) будет черного цвета, как и любая другая, у которой сумма координат четная. а если у клетки сумма координат нечетная, то она будет белого цвета. собственно, цвет неважен, важно лишь то, что одноцветными клетки будут тогда и только тогда, когда у них обоих сумма координат будет или четным числом, или нечетным. отсюда строим алгоритм: вводим координаты первой клетки (r1,c1) и второй клетки (r2,c2). имена взяты от слов row - строка и column - колонка. находим s1=r1+c1 и s2=r2+c2. если s1 четное и s2 четное, или если s1 нечетное и s2 нечетное, выводим "yes", в противном случае выводим "no". четность s1 в языке python можно проверить по условию s1%2==0 (остаток от целочисленного деления s1 на 2 равен 0). однако такое условие получается громоздким и лучше воспользоваться возможностями логических выражений (b - логическая переменная): если s1 четное, то b=значение истинности логического выражения (s2=четное) иначе b=значение истинности логического выражения (s2=нечетное)eсли b, то вывести "yes"иначе вывести "no" программа на языке python 3.4: r1=int(input("строка 1=")); c1=int(input("колонка 1=")) r2=int(input("строка 2=")); c2=int(input("колонка 2=")) s1=r1+c1; s2=r2+c2 if s1%2==0: b=(s2%2==0) else: b=(s2%2! =0) if b: print("yes") else: print("no") тестовое решение: python 3.4.2 (v3.4.2: ab2c023a9432, oct 6 2014, 22: 15: 05) [msc v.1600 32 bit (intel)] on win32 type "copyright", "credits" or "license()" for more information. > > > ================================ restart ================================ > > > строка 1=7 колонка 1=3 строка 2=2 колонка 2=2 yes > > >
Спасибо
Популярные вопросы