Регистрация
Войти
Стать экспертом Правила
Информатика

Шашку — в дамки ДАЮ 100 поинтов!!!! НА ПИТОНЕ С ИСПОЛЬЗОВАНИЕМ ДВУМЕРНОГО МАССИВА На шахматной доске (8×8) стоит одна белая шашка. Сколькими способами она может пройти в дамки? (Белая шашка ходит по диагонали. на одну клетку вверх-вправо или вверх-влево. Шашка проходит в дамки, если попадает на верхнюю горизонталь.) Входные данные Вводятся два числа от 1 до 8: номер номер столбца (считая слева) и строки (считая снизу), где изначально стоит шашка. Выходные данные Вывести одно число — количество путей в дамки. Примеры Ввод 3 71 83 6Вывод214СРОЧНО

ОТВЕТЫ

Алгоритм: положим в ячейку, где стоит шашка, значение 1. В некоторую ячейку с горизонталью i и вертикалью j можно добраться из клеток (i-1, j-1) и (i-1, j+1), если эти клетки существуют. Тогда для двумерного массива A, выступающего в роли доски, будет справедливо следующее утверждение: A[i+1][j] = A[i][j-1] + A[i][j+1]. Существовать ячейки не будут, если находятся в крайних столбцах: A[i+1][0] = A[i][1] и A[i+1][7] = A[i][6].

Программа:

y, x = map(int, input().split())

x, y = x - 1, y - 1

board = [[0]*8 for i in range(8)]

board[x][y] = 1

for i in range(x, 7):

   board[i+1][0] += board[i][1]

   for j in range(1, 7):

       board[i+1][j] += board[i][j-1] + board[i][j+1]

   board[i+1][7] += board[i][6]

print(sum(board[7]))

271
Контакты
Реклама на сайте
Спрошу
О проекте
Новым пользователям
Новым экспертам