#P3111. 「SDOI2019」染色

「SDOI2019」染色

题目描述

给定 2×n2 \times n 的格点图。其中一些结点有着已知的颜色,其余的结点还没有被染色。一个合法的染色方案不允许相邻结点有相同的染色。

现在一共有 cc 种不同的颜色,依次记为 11cc。请问有多少对未染色结点的合法染色方案?

输入格式

第一行有两个整数 nncc,分别描述了格点图的大小和总的颜色个数。

之后两行,每行有 nn 个整数:如果是 00 则表示对应结点未被染色,否则一定是一个 11cc 的整数表示对应结点已经染了某一种颜色。

输出格式

输出一个整数,为总的染色方案数对 109+910^9 + 9 取模后的值。

3 5
1 0 1
0 0 0
172
5 7
1 0 0 0 2
0 0 3 0 0
116370
10 13
0 2 0 0 1 0 2 0 0 3
0 1 0 1 0 0 0 0 4 0
770175525

数据范围与提示

子任务 114444 分):1n100001 ≤ n ≤ 100005c100005 ≤ c ≤ 10000;不存在一列有 22 个已染色结点;被染色结点全部位于第一行;第一列和最后一列均有结点已被染色。

子任务 223232 分):1n100001 ≤ n ≤ 100005c100005 ≤ c ≤ 10000;不存在一列有 22 个已染色结点;第一列和最后一列均有结点已被染色。

子任务 331212 分):1n100001 ≤ n ≤ 100005c100005 ≤ c ≤ 10000;第一列和最后一列均有结点已被染色。

子任务 4488 分):1n100001 ≤ n ≤ 100005c100005 ≤ c ≤ 10000

子任务 5544 分):1n1000001 ≤ n ≤ 1000005c1000005 ≤ c ≤ 100000