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

Задача . D. Двураскраски


Задача

Темы: битмаски дп *1700

Задана таблица, состоящая из \(2\) строк и \(n\) столбцов. Каждая ячейка данной таблицы должна быть раскрашена либо в черный, либо в белый цвет.

Две ячейки являются соседями, если у них есть общая сторона и их цвет одинаков. Две ячейки \(A\) и \(B\) принадлежат одной и той же компоненте, если они являются соседями, или если существует сосед \(A\), который принадлежит к той же компоненте, что и \(B\).

Назовем некоторую двураскраску красивой, если у нее ровно \(k\) компонент из ячеек.

Посчитайте количество красивых двураскрасок. Это число может быть достаточно велико, поэтому выведите его по модулю \(998244353\).

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

В единственной строке записаны два целых числа \(n\) и \(k\) (\(1 \le n \le 1000\), \(1 \le k \le 2n\)) — количество столбцов в таблице и необходимое число компонент.

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

Выведите единственное целое число — количество красивых двураскрасок по модулю \(998244353\).

Примечание

Одна из возможных раскрасок в примере \(1\):


Примеры
Входные данныеВыходные данные
1 3 4
12
2 4 1
2
3 1 2
2

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

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