有一个 行 列的网格,以及 种不同颜色的多米诺骨牌,每种颜色都有无穷多块。每块骨牌覆盖两个共边的格子,可以横放或竖放。
用骨牌覆盖所有格子,不能重叠,也不能超出网格。若两个不同骨牌所覆盖的格子中至少有一对上下左右相邻,则这两个骨牌的颜色必须不同。仅在顶点处相接不受限制。
求同时确定骨牌摆放位置及每块骨牌颜色的方案数,对 取模。不必使用全部 种颜色。若摆放位置不同,或同一位置上的任意骨牌颜色不同,则视为不同方案。即使旋转或翻转后相同,只要原网格上的位置或颜色不同,也分别计数。同色骨牌之间不作区分。
输入格式如下:
输出合法方案数对 取模的结果。如果不存在合法方案,输出 。
可以放两块横骨牌,也可以放两块竖骨牌。每种摆法中的两块骨牌都相邻,必须异色。因此共有 种方案。
无法用每块覆盖两个格子的骨牌铺满九个格子。