#CF2232E. 蛇形摆放

蛇形摆放

题目描述

派对的主角是一块 n×nn\times n 的大蛋糕。Alice 和朋友们想在蛋糕上用奶油摆出蛇形图案。

一条大小为 kk 的蛇是一条包含 kk 个格子的路径,从某个格子出发,每一步只能向下或向右走。

Alice 知道最好的装饰方式是放置 nn 条蛇,其中第 ii 条蛇大小为 2i12i-1。不过有些朋友太兴奋,已经提前在蛋糕上放了一些蛇。保证仍然存在至少一种完整装饰方式。

请你计算在不移动已放置蛇的前提下,Alice 有多少种方式完成装饰。两个方案不同,当且仅当存在某个格子被不同编号的蛇占据。

答案对 109+710^9+7 取模。

输入格式

第一行包含一个整数 tt,表示测试组数。

每组测试数据第一行包含两个整数 n,kn,k,表示蛋糕大小和已经放置的蛇的数量。

接下来 2k2k 行描述这 kk 条蛇。每条蛇用两行描述:

第一行一个奇数 ss,表示蛇的大小。

第二行包含起点行列 r,cr,c。若 s>1s>1,后面还会有一个长度为 s1s-1 的字符串,只包含 R 和 D,分别表示向右和向下。若 s=1s=1,则没有这个字符串。

输出格式

对于每组测试数据,输出一种完整装饰方式数量对 109+710^9+7 取模后的结果。

数据范围

  • 1t10001 \le t \le 1000
  • 1n50001 \le n \le 5000
  • 0kn0 \le k \le n
  • 1s2n11 \le s \le 2n-1,且 ss 为奇数
  • 已给出的蛇互不重叠、大小互不相同,且都在蛋糕边界内
  • 每组答案保证非零
  • 所有测试数据的 nn 之和不超过 50005000,所有给定蛇长之和不超过 41054\cdot 10^5
5
3 1
5
1 1 RDRD
4 1
1
3 2
3 1
5
1 1 RRDD
3 1
3
2 1 DR
4567 0
1
6
2
2
833729690

提示

在第一个测试用例中,装饰蛋糕的唯一可行方式如下所示:

在第二个测试用例中,装饰蛋糕的两种可行方式如下所示:

来源

Codeforces Round 2232 E - Snaking Arrangement