#532 Расстановка слонов на шахматной доске

Компании:
Т-Банк
Темы:
АлгоритмыДинамическое программированиеПрактика

Девочка Аня пожелала на Новый год себе шахматную доску размера n × n. И благодаря новогоднему чуду ее желание сбылось, да и дополнительно она получила k фигур шахматных слонов.

Аня не первый год занимается математикой, поэтому ее заинтересовал вопрос: сколько можно расставить на этой доске ровно k слонов так, чтобы не было двух слонов, которые бьют друг друга по правилам шахмат.

Но в информатике она слаба, поэтому она просит вас посчитать это значение. Так как ответ может быть слишком большим, нужно вывести его по модулю 10⁹ + 7.

Входные данные

В единственной строке заданы два числа n, k:

1 ≤ n ≤ 500
1 ≤ k ≤ n²

где n — размер доски, а k — количество слонов.

Выходные данные

Выведите ровно одно число — количество способов расставить k слонов на доске так, чтобы никакие два слона не били друг друга. Ответ нужно вывести по модулю 10⁹ + 7.

Пример 1

Ввод:
5 3

Вывод:
1124

Пример 2

Ввод:
2 2

Вывод:
4

Пример 3

Ввод:
4 3

Вывод:
232

Разбор вопроса

Ментор
Ответь как на реальном собеседовании. Я задам уточняющие вопросы, а затем сравню твой ответ с эталонным и покажу точность в %.
Войди, чтобы начать диалог Ментор ведёт диалог по текущему вопросу и учитывает предыдущие сообщения.
Войти