CF1536E.Omkar and Forest

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Omkar's most recent follower, Ajit, has entered the Holy Forest. Ajit realizes that Omkar's forest is an nn by mm grid ( 1n,m20001 \leq n, m \leq 2000 ) of some non-negative integers. Since the forest is blessed by Omkar, it satisfies some special conditions:

  1. For any two adjacent (sharing a side) cells, the absolute value of the difference of numbers in them is at most 11 .
  2. If the number in some cell is strictly larger than 00 , it should be strictly greater than the number in at least one of the cells adjacent to it.

Unfortunately, Ajit is not fully worthy of Omkar's powers yet. He sees each cell as a "0" or a "#". If a cell is labeled as "0", then the number in it must equal 00 . Otherwise, the number in it can be any nonnegative integer.

Determine how many different assignments of elements exist such that these special conditions are satisfied. Two assignments are considered different if there exists at least one cell such that the numbers written in it in these assignments are different. Since the answer may be enormous, find the answer modulo 109+710^9+7 .

输入格式

Each test contains multiple test cases. The first line contains the number of test cases tt ( 1t1001 \leq t \leq 100 ). Description of the test cases follows.

The first line of each test case contains two integers nn and mm ( 1n,m2000,nm21 \leq n, m \leq 2000, nm \geq 2 ) – the dimensions of the forest.

nn lines follow, each consisting of one string of mm characters. Each of these characters is either a "0" or a "#".

It is guaranteed that the sum of nn over all test cases does not exceed 20002000 and the sum of mm over all test cases does not exceed 20002000 .

输出格式

For each test case, print one integer: the number of valid configurations modulo 109+710^9+7 .

输入输出样例

  • 输入#1

    4
    3 4
    0000
    00#0
    0000
    2 1
    #
    #
    1 2
    ##
    6 29
    #############################
    #000##0###0##0#0####0####000#
    #0#0##00#00##00####0#0###0#0#
    #0#0##0#0#0##00###00000##00##
    #000##0###0##0#0##0###0##0#0#
    #############################

    输出#1

    2
    3
    3
    319908071

说明/提示

For the first test case, the two valid assignments are

0000000000000000\\ 0000\\ 0000

and

0000001000000000\\ 0010\\ 0000

首页