
Bandibor
4 год назад
Шахматы. шахматная доска размером 8*8 окрашена в черно-белый цвет Каждая строка имеет буквенно-цифровой адрес. То есть горизонтальное число a до h пронумеровано по вертикали от 1 до 8 и если известно что ячейка а1 черная создайте программу для определения цвета запрошенной ячейки
ОТВЕТЫ

Hofmann Ursula
Nov 20, 2020
Переведем и первый индекс в число, для этого можно, например, вычесть из кода буквы код 'a' и прибавить 1 (получится соствие a - 1, b - 2, c - 3 и т.д.)
Осталось заметить, что если сумма двух чисел - номера столбца и номера строки - четная, то ячейка черная, а иначе белая.
Код (Python 3):
raw_address = input()
row, column = ord(raw_address[0]) - ord('a') + 1, int(raw_address[1])
if (row + column) % 2 == 0:
print('BLACK')
else:
print('WHITE')
Код (PascalABC.NET):
##
var row := ord(ReadChar) - ord('a') + 1;
var column := ord(ReadChar) - ord('0');
if ((row + column) mod 2 = 0) then
write('BLACK')
else
write('WHITE')
Пример ввода:
b3
Пример вывода:
WHITE
87
Смежные вопросы: