AT_joisc2018_c.テント (Tents)

提高+/省选-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

译自 JOISC 2018 Day1 T3「テント / Tents」

JOI 君经营着一座露营地。露营地被划分为 HH 行 WW 列的矩阵,各行平行于东西方向,而各列平行于南北方向。从北向南数第 ii 行和从东向西数第 jj 列相交的格子表示为 (i,j)(i,j)。

JOI 君想在格子里搭一些帐篷。每座帐篷必须占据刚好一个格子。没有两座帐篷会占据同一个格子。

每座帐篷在东、南、西、北四个方向之一有一个出入口。帐篷的出入口朝向必须满足以下条件:

  • 如果格子 (i1,j)(i_{1},j) 和 (i2,j)(1≤i1<i2≤H,1≤j≤W)(i_{2},j)(1\le i_{1} < i_{2}\le H,1\le j\le W) 上都有帐篷,那么格子 (i1,j)(i_{1},j) 上的帐篷出入口必须朝南,而格子 (i2,j)(i_{2},j) 上的帐篷出入口必须朝北。
  • 如果格子 (i,j1)(i,j_{1}) 和 (i,j2)(1≤i≤H,1≤j1<j2≤W)(i,j_{2})(1\le i\le H,1\le j_{1} < j_{2}\le W) 上都有帐篷,那么格子 (i,j1)(i,j_{1}) 上的帐篷出入口必须朝东,而格子 (i,j2)(i,j_{2}) 上的帐篷出入口必须朝西。

JOI 君想知道在露营地上搭起至少一顶帐篷的合法方案数。两种方案被认为是不同的,当且仅当有至少一个格子的状态(即是否存在帐篷或帐篷出入口的朝向)不同。

任务

给出露营地的相关信息,请求出在露营地上搭起至少一顶帐篷的合法方案数,对 10000000071000000007 取模。

输入格式

仅一行两个以空格分开的整数 HH 和 WW,表示 JOI 君经营的露营地有 HH 行 WW 列。

输出格式

输出一行,仅一个整数,表示在露营地上搭起至少一顶帐篷的合法方案数对 10000000071000000007 取模的余数。

输入输出样例

  • 输入#1

    1 2

    输出#1

    9
  • 输入#2

    4 3

    输出#2

    3252
  • 输入#3

    100 100

    输出#3

    561068619

说明/提示

【样例 11 解释】

如下图所示,共有 99 种搭帐篷的方式。图中字母 E,W,S,NE,W,S,N 分别代表出入口朝向东、西、南、北的帐篷。

tents.png

【数据范围】

子任务 1(48 分) 1≤H,W≤3001\le H, W\le 300。

子任务 2(52 分) 1≤H,W≤30001\le H, W\le 3000 。

输入解题思路,AI测评打分。不知道怎么写?

首页