QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 32 MB Total points: 100

#485. 泰迪熊

Statistics

Byteotian 公司 0101010 生产儿童玩具。0101010 公司非常出名,他们的玩具被认为是顶级的。令员工们感到惊恐的是,他们最近生产的四款泰迪熊模型:$A_1$、$A_2$、$B_1$ 和 $B_2$ 存在一个潜在缺陷:如果我们取出三个模型名称中字母相同,或者数字相同的泰迪熊并将它们排成一排,这些泰迪熊就会受到不可修复的损坏。

如果一排泰迪熊中没有任何三个连续的泰迪熊的模型名称字母相同,也没有任何三个连续的泰迪熊的模型名称数字相同,我们就称这排泰迪熊是安全排列的。

Byteasar 拥有一堆泰迪熊,其中只有这四种模型——毕竟他才刚刚长大到可以玩泰迪熊的年纪。更糟糕的是,Byteasar 喜欢把他的泰迪熊排成一排!幸运的是,尽管他年纪尚小,但他非常清楚其中的危险。因此,他想知道总共有多少种安全的泰迪熊排列方式。问题随之而来——他自己无法计算出来……请做一个好伙伴,写一个程序来帮助他!

编写一个程序,完成以下任务:

  • 从标准输入读取每种类型泰迪熊的数量;
  • 计算安全排列泰迪熊的方法总数,结果对 $1\,000\,000$ 取模;
  • 将结果写入标准输出。

输入格式

标准输入的唯一一行包含四个非负整数:$n_{A_1}, n_{A_2}, n_{B_1}, n_{B_2}$,以空格分隔($0 \le n_{A_1}, n_{A_2}, n_{B_1}, n_{B_2} \le 38$)。它们分别表示模型 $A_1, A_2, B_1, B_2$ 的泰迪熊数量。泰迪熊的总数始终为正数。

输出格式

在标准输出的唯一一行中,输出安全排列泰迪熊的方法总数,对 $1\,000\,000$ 取模。

样例

输入 1

0 1 2 1

输出 1

6

说明 1

这 6 种安全的泰迪熊排列方式为:$B_1$ $A_2$ $B_1$ $B_2$、$B_1$ $A_2$ $B_2$ $B_1$、$B_2$ $A_2$ $B_1$ $B_1$、$B_2$ $B_1$ $A_2$ $B_1$、$B_1$ $B_2$ $A_2$ $B_1$ 以及 $B_1$ $B_1$ $A_2$ $B_2$。

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.