#P14367. [JOISC 2018] 帐篷 / Tents
[JOISC 2018] 帐篷 / Tents
题目描述
JOI 君经营着一个露营地。该露营地被划分为一个 行 列的矩形网格。行与东西方向平行,列与南北方向平行。从北往南第 行、从东往西第 列的区域称为区域 。
JOI 君打算在部分区域搭建帐篷。每个帐篷必须恰好占据一个区域,且任意两个帐篷不得占据同一区域。
每个帐篷的入口朝向四个方向之一:北、南、东或西。露营地中所搭帐篷的入口方向必须满足以下条件:
- 若两个区域 和 (其中 ,)均被帐篷占据,则区域 中帐篷的入口必须朝南,区域 中帐篷的入口必须朝北。
- 若两个区域 和 (其中 ,)均被帐篷占据,则区域 中帐篷的入口必须朝东,区域 中帐篷的入口必须朝西。
JOI 君对在露营地至少搭建一个帐篷的方案总数感到好奇。若存在某个区域,其帐篷状态(是否存在帐篷,或帐篷入口方向)在两种方案中不同,则这两种方案被视为不同。
任务
编写一个程序,计算满足题面所述条件的至少搭建一个帐篷的方案总数,对 取模后的余数。
输入格式
从标准输入读取以下数据:
- 输入第一行包含两个整数 和 ,表示 JOI 君经营的露营地被划分为 行 列。
输出格式
向标准输出写入一行。输出应包含满足题面所述条件的至少搭建一个帐篷的方案总数,对 取模后的余数。
1 2
9
4 3
3252
100 100
561068619
提示
样例 1 解释
如下图所示,共有 种搭帐篷的方式。图中字母 分别代表出入口朝向东、西、南、北的帐篷。
:::align{center}
:::
数据范围
所有输入数据满足以下条件:
- 。
- 。
子任务
共有 2 个子任务。每个子任务的得分和附加约束如下:
子任务 1 [48 分]
- 。
- 。
子任务 2 [52 分]
无额外约束。