QOJ.ac

QOJ

時間限制: 1.0 s 記憶體限制: 256 MB 總分: 100 可 Hack ✓

#16763. 拼图

统计

在一门离散数学的在线课程中,最近的一节课专门讨论了由正方形单元格组成的各种 $n \times m$ 矩形网格的正确骨牌覆盖问题。在这些网格中,某些单元格可能会被剪掉。教授将这种网格称为“拼图”(jigsaw puzzles)。

解决一个拼图意味着找到一种用大小为 $1 \times 2$ 的骨牌覆盖给定网格的方法,使得满足以下条件:

  • 骨牌覆盖网格中所有未被剪掉的单元格;
  • 所有骨牌完全位于网格内部;
  • 骨牌之间互不重叠;
  • 骨牌不覆盖任何被剪掉的单元格。

现在,教授想知道他的课讲得有多通俗易懂。为了弄清这一点,他决定给所有学生布置拼图任务来解答。教授不想让学生们的生活太艰难,因此他决定每个拼图都必须至少有一个解。但同时,他也希望每个人都能独立完成作业,因此他希望所有的拼图都是不同的。

在教授设计他的拼图之前,他想知道存在多少种不同的拼图。你能帮帮他吗?

你的任务是计算大小为 $n \times m$ 且至少存在一种正确骨牌覆盖的不同网格的数量。请记住,网格中的某些单元格可以被剪掉。这个数量可能非常大,因此你必须将其对 $10^9 + 7$ 取模后输出。

如果在一个 $n \times m$ 的网格中,存在某个单元格在其中一个网格中被剪掉,而在另一个网格中没有被剪掉,则认为这两个网格是不同的。网格不能进行翻转或旋转。

输入格式

输入仅包含一行,包含两个整数 $n$ 和 $m$($1 \le n \le 6$,$1 \le m \le 500$),由一个空格隔开。

输出格式

输出应包含一行,包含一个整数:问题的答案。

样例

输入样例 1

1 2

输出样例 1

2

输入样例 2

2 3

输出样例 2

18

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.