問題一覧 > 通常問題

No.1662 (ox) Alternative

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 35
作問者 : 箱星 / テスター : LayCurse 👑 ygussany
3 ProblemId : 6750 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2022-04-26 00:13:12

問題文

AA 個の (BB 個の )CC 個の oDD 個の x からなる長さ A+B+C+DA+B+C+D の文字列のうち、次の条件を満たすものの個数を 109+710^9+7 で割った余りを求めてください。

  • 登場するすべての o() に、x)( に置き換えて得られる文字列は括弧の対応が取れている文字列である。

TT 個のテストケースについて答えてください。

▼ (括弧の対応が取れている文字列の定義)

括弧の対応が取れている文字列とは、次のうちいずれかの条件を満たす文字列です。

  • 空文字列
  • ある括弧の対応が取れている空でない文字列 s,ts,t が存在し、s,ts,t をこの順に連結した文字列
  • ある括弧の対応が取れている文字列 ss が存在し、(, ss, ) をこの順に連結した文字列

制約

  • 1T1051\le T\le 10^5
  • 0A,B,C,D1050\le A,B,C,D\le 10^5
  • A+B+C+D1A+B+C+D\ge 1
  • 入力はすべて整数

入力

TT
case1\text{case}_1
case2\text{case}_2
\vdots
caseT\text{case}_T

各テストケースは以下の形式で与えられます。

AA BB CC DD

出力

TT 行出力してください。ii 行目には、ii 番目のテストケースに対する答えを出力してください。

サンプル

サンプル1
入力
3
1 1 1 1
31 41 59 26
999 999 0 1234
出力
4
0
479533106

(11 つ目のテストケース) (ox), (xo), o(x), (x)o44 通りがあります。

(22 つ目のテストケース) 11 つも存在しません。

(33 つ目のテストケース) 109+710^9+7 で割った余りを出力してください。

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。