A92118.「USACO 2021 US Open Platinum」Routing Schemes

NOI/NOI+/CTSC

通过率:0%

时间限制:2.00s

内存限制:256MB

题目描述

题目来自 USACO 2021 US Open Contest, Platinum Problem 2. Routing Schemes

考虑一个由 NN2N1002\le N\le 100)个编号为 1N1\ldots N 的结点组成的网络。每个结点被指定为发送者(sender)、接收者(receiver)或两者均不是。发送者的数量 SS 与接收者的数量相等(S1S\ge 1)。

这一网络中结点间的连接关系可以用一系列形式为 iji\to j 的有向边表示,代表由结点 ii 可以路由到结点 jj。有趣的是,所有的边满足性质 i<ji<j,除了 KK 条满足 i>ji>j0K20\le K\le 2)。网络中没有自环(iii\to i 形式的边)。

一个「路由方案」的描述由 SS 条从发送者到接收者的有向路径组成,其中没有两条路径有相同的起止点。也就是说,这些路径将不同的发送者连接到不同的接收者。一条从发送者 ss 到接收者 rr 的路径可以用一个结点序列

s=v0v1v2ve=rs=v_0\to v_1\to v_2\to \ldots \to v_e=r

表示,其中对于所有 0i<e0\le i<e,有向边 vivi+1v_i\to v_{i+1} 均存在。一个结点可能在同一条路径中出现多于一次。

计算使得每条有向边恰好使用一次的路由方案数量。由于答案可能非常大,输出答案对 109+710^9+7 取模的结果。输入保证存在至少一种路由方案符合条件。

每个输入包含 TT1T201\le T\le 20)组需要独立求解的测试用例。输入保证所有测试用例的 N2N^2 之和不超过 21042\cdot 10^4

输入格式

输入的第一行包含 TT,为测试用例的数量。

每个测试用例的第一行包含整数 NNKK。注意 SS 并不会在输入中明确给出。

每个测试用例的第二行包含一个长为 NN 的字符串。如果第 ii 个结点是发送者,则字符串的第 ii 个字符为 S,如果第 ii 个结点是接收者则为 R,如果第 ii 个结点两者均不是则为 .。字符串中 R 的数量等于 S 的数量,且至少有一个 S

每个测试用例的以下 NN 行每行包含一个长为 NN0101 字符串。如果从结点 ii 到结点 jj 存在一条有向边,则第 ii 行的第 jj 个字符为 11,否则为 00。由于不存在自环,矩阵的主对角线仅包含 00。除此之外,在主对角线以下恰好有 KK11

为提高可读性,相邻的测试用例之间用一个空行隔开。

输出格式

对每个测试用例,输出每条边使用恰好一次的路由方案的数量,结果对 109+710^9+7 取模。输入保证对每个测试用例存在至少一种合法的路由方案。

输入输出样例

  • 输入#1

    2
    
    8 0
    SS....RR
    00100000
    00100000
    00011000
    00000100
    00000100
    00000011
    00000000
    00000000
    
    13 0
    SSS.RRRSS.RR.
    0001000000000
    0001000000000
    0001000000000
    0000111000000
    0000000000000
    0000000000000
    0000000000000
    0000000001000
    0000000001000
    0000000000110
    0000000000000
    0000000000000
    0000000000000
    

    输出#1

    4
    12
    
  • 输入#2

    2
    
    5 1
    SS.RR
    00101
    00100
    10010
    00000
    00000
    
    6 2
    S....R
    001000
    000100
    010001
    000010
    001000
    000000
    

    输出#2

    3
    1
    
  • 输入#3

    5
    
    3 2
    RS.
    010
    101
    100
    
    4 2
    .R.S
    0100
    0010
    1000
    0100
    
    4 2
    .SR.
    0000
    0011
    0100
    0010
    
    5 2
    .SSRR
    01000
    10101
    01010
    00000
    00000
    
    6 2
    SS..RR
    001010
    000010
    000010
    000010
    100101
    000000
    

    输出#3

    2
    1
    2
    6
    24
    

说明/提示

  • 测试点 4-5 满足 N6N\le 6
  • 测试点 6-7 满足 K=0K=0
  • 测试点 8-12 满足 K=1K=1
  • 测试点 13-24 满足 K=2K=2

供题:Benjamin Qi

首页