Задача "Шашки", питон - Общение Python мододелов
  • Чаты 4chT.com в телеграмм
    Наши группы в телеграмм

Вопрос Задача "Шашки", питон

Регистрация
17 Сен 2013
Сообщения
88
Репутация
0
Спасибо
0
Монет
0
Помогите пожалуйста решит задачу:
На шахматной доске (8x8) стоит одна белая шашка. Сколькими способами она может пройти в дамки?

(Белая шашка ходит по диагонали. на одну клетку вверх-вправо или вверх-влево. Шашка проходит в дамки, если попадает на верхнюю горизонталь.)

Входные данные
Вводятся два числа от 1 до 8: номер номер столбца (считая слева) и строки (считая снизу), где изначально стоит шашка.

Выходные данные
Вывести одно число - количество путей в дамки.

Примеры
входные данные
3 7
выходные данные
2
входные данные
1 8
выходные данные
1
входные данные
3 6
выходные данные
4
 
Регистрация
23 Фев 2013
Сообщения
75
Репутация
0
Спасибо
0
Монет
0
Ну, считай. Примерно так (для черной): __X__ (шашка) _1_1_ (2 клетки по одному способу) 1_2_1 (3 клетки по 2 способа) и т. д. 2 в центре - сумма единичек сверху по диагоналям от нее. Тебе нужна сумма последней строки.
 
Регистрация
16 Авг 2013
Сообщения
79
Репутация
0
Спасибо
0
Монет
0
Вам нужно написать код или вы не знаете какой алгоритм применить? Если второе, то мне кажется, это можно решить динамическим программированием. Динамикой будет число путей в конкретную клетку. Если мы рассчитаем кол-во путей для всех клеток, то ответом будет сумма путей для клеток верхней горизонтали. Будем считать, что нижняя горизонталь - 1я строка матрицы 8х8. Все элементы матрицы равны 0. Когда мы получили координаты шашки, присваиваем соответствующему элементу матрицы 1. Затем обходим матрицу построчно начиная с 2ой строки. Каждой клетке присваиваем сумму нижних диагональных клеток (откуда мы можем дойти к текущей клетке). В конце работы алгоритма в 8ой строке будут клетки с количеством путей, которыми можно до них дойти. Нам нужно их просуммировать и это будет ответом.
 
Сверху Снизу