D. [ABC 003 D] AtCoder社の冬

    傳統題 2000ms 64MiB

[ABC 003 D] AtCoder社の冬

該比賽已結束,您無法在比賽模式下遞交該題目。您可以點選“在題庫中開啟”以普通模式檢視和遞交本題。

题目描述

AtCoder 社的员工室被划分为 R×CR \times CRRCC 列)的格子,每个格子中可能有员工的桌子、服务器机架,或者什么都没有的空格。 由于 AtCoder 所在地区的冬天很冷,为了尽量节省取暖费用,公司决定只使用员工室中必要的空间。 但由于材料的限制,必须用与格子平行的矩形区域来划分空间。 因此,

  • 在有桌子或服务器机架的最上面一行的正上方,
  • 在有桌子或服务器机架的最下面一行的正下方,
  • 在有桌子或服务器机架的最左边一列的正左方,
  • 在有桌子或服务器机架的最右边一列的正右方,

用墙围成一个矩形区域。 这样,被墙围住的区域就是 X×YX \times YXXYY 列)的格子。 另外,AtCoder 社的员工室里有 DD 个桌子和 LL 个服务器机架。 请编写程序,计算员工室中桌子和服务器机架的所有可能的摆放方案数,并对 1000000007=109+71000000007 = 10^9+7 取模。 输入按以下格式从标准输入给出。

  1. 11 行给出员工室的行数和列数 R, C (1R, C30)R,\ C\ (1 \leq R,\ C \leq 30),用空格分隔。
  2. 22 行给出被墙围住的区域的行数和列数 X, Y (1XR, 1YC)X,\ Y\ (1 \leq X \leq R,\ 1 \leq Y \leq C),用空格分隔。
  3. 33 行给出员工室中桌子的数量和服务器机架的数量 D, L (D, L0, 1D+LX×Y)D,\ L\ (D,\ L \geq 0,\ 1 \leq D+L \leq X \times Y),用空格分隔。

请输出员工室中桌子和服务器机架的所有可能的摆放方案数,对 1000000007=109+71000000007 = 10^9+7 取模,并在输出末尾加上换行符。 如果 D+L=X×YD+L = X \times Y 的测试用例全部正确,可以获得 101101 分中的 100100 分。 满分解法非常困难,建议先考虑确保拿到部分分。

输入格式

11 行:两个整数 R CR\ C,表示员工室的行数和列数。 第 22 行:两个整数 X YX\ Y,表示被墙围住的区域的行数和列数。 第 33 行:两个整数 D LD\ L,表示桌子的数量和服务器机架的数量。

输出格式

输出一个整数,表示所有可能的摆放方案数,对 10000000071000000007 取模,并以换行结束。

输入 #1

3 2
2 2
2 2

输出 #1

12

输入 #2

4 5
3 1
3 0

输出 #2

10

输入 #3

23 18
15 13
100 95

输出 #3

364527243

输入 #4

30 30
24 22
145 132

输出 #4

976668549

说明/提示

  • D+L=X×YD+L = X \times Y 的情况属于部分分测试用例。
  • 满分解法较难,建议先确保部分分。
  • 1R,C301 \leq R, C \leq 30
  • 1XR1 \leq X \leq R
  • 1YC1 \leq Y \leq C
  • D,L0D, L \geq 0
  • 1D+LX×Y1 \leq D+L \leq X \times Y

AtCoder Beginner Contest 003

未參加
狀態
已結束
規則
XCPC
題目
4
開始於
2026-5-16 20:00
結束於
2026-5-16 21:40
持續時間
1.7 小時
主持人
參賽人數
0