T828698 菜单排期(menu)

题目描述

餐厅准备安排接下来 $N$ 天的菜单。每天只供应一种主菜,主菜共有三种,依次编号为 $1,2,3$。 其中 $K$ 天的主菜已经确定,不能修改;其余日期可以选择任意一种主菜。为了避免菜单过于单调,不允许连续三天供应同一种主菜。连续两天相同是允许的。 请计算满足要求的菜单安排共有多少种。只要有一天供应的主菜不同,就认为两种安排不同。由于答案可能很大,请输出答案除以 $10000$ 的余数。 保证给定的已确定安排至少能补全为一种满足要求的菜单。

输入格式

第一行一个整数 $T$,表示数据组数。 每组数据第一行两个整数 $N,K$。 接下来 $K$ 行,每行两个整数 $A_i,B_i$,表示第 $A_i$ 天已经确定供应第 $B_i$ 种主菜。所有 $A_i$ 互不相同,但不保证按日期从小到大给出。

输出格式

每组数据输出一行一个整数,表示满足要求的安排数对 $10000$ 取模的结果。

说明/提示

第 $1,3,4$ 天的主菜分别是 $1,1,2$。第 $2$ 天不能选 $1$,否则前三天都相同,所以可以选 $2$ 或 $3$。第 $5$ 天可以选三种主菜中的任意一种,因此共有 $2\times3=6$ 种安排。 ## 样例 2 见 `考生目录/menu/menu2.in` 与 `考生目录/menu/menu2.ans`。该样例满足测试点 $1\sim6$ 的约束。 ## 样例 3 见 `考生目录/menu/menu3.in` 与 `考生目录/menu/menu3.ans`。该样例满足测试点 $7\sim20$ 的约束。 ## 样例 4 见 `考生目录/menu/menu4.in` 与 `考生目录/menu/menu4.ans`。该样例满足测试点 $7\sim20$ 的约束。 ## 样例 5 见 `考生目录/menu/menu5.in` 与 `考生目录/menu/menu5.ans`。该样例满足测试点 $7\sim20$ 的约束。 ## 样例 6 见 `考生目录/menu/menu6.in` 与 `考生目录/menu/menu6.ans`。该样例满足测试点 $7\sim20$ 的约束。 ## 数据范围 对于所有数据,保证 $1\le T\le10$。每组数据中,$3\le N\le100$,$1\le K\le N$,$1\le A_i\le N$,$1\le B_i\le3$,所有 $A_i$ 互不相同,且至少存在一种合法菜单安排。 | 测试点编号 | 附加限制(每组均满足) | | :--------: | :--------------------: | | $1\sim6$ | $N\le12$ | | $7\sim20$ | 无 |