Олимпиадный тренинг

Задача . rRyz_2007_C_Вырубка деревьев


Задача

Темы:
Король Флатландии решил вырубить некоторые деревья, растущие перед его дворцом. Деревья перед дворцом короля посажены в ряд, всего там растет n деревьев, расстояния между соседними деревьями одинаковы.
После вырубки перед дворцом должно остаться m деревьев, и расстояния между соседними деревьями должны быть одинаковыми. Помогите королю выяснить, сколько существует способов вырубки деревьев.
Требуется написать программу, которая по заданным числам n и m определит, сколько существует способов вырубки некоторых из n деревьев так, чтобы после вырубки осталось m деревьев и соседние деревья находились на равном расстоянии друг от друга.
Формат входных данных
Входной файл содержит два целых числа n и m (1 ≤ mn ≤ 109).
Формат выходных данных
Выведите в выходной файл одно число — искомое количество способов.
Примеры входного и выходного файлов
входные данные выходные данные
5 3 4
Пояснение к примерам
Если обозначить условно исходное расположение деревьев перед дворцом как «TTTTT», то возможные результаты после вырубки следующие:
«TTT..», «.TTT.», «..TTT», «T.T.T».
 

time 100 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
Python4
С++ Mingw-w644
Комментарий учителя