测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A5954. 「USACO 2020.12 Platinum」Spaceship

编程题 NOI/NOI+/CTSC
知识点

题目描述

奶牛 Bessie 外星人绑架了,现在被关在了一艘外星人的飞船里!飞船有 $N$($1≤N≤60$)间房间,编号为 $1…N$,其中某些房间之间由单向通过的门所连接(由于使用了奇怪的外星技术,一扇门甚至可能从一间房间通回这间房间本身!)。然而,没有两扇门具有完全相同的出发和到达房间。此外,Bessie 有一个遥控器,上有编号为 $1…K$($1≤K≤60$)的按钮。
如果 Bessie 能够完成一个怪异的任务,外星人就会释放她。首先,他们会选择两间房间 $s$ 和 $t$($1≤s,t≤N$),以及两个整数 $b_s$ 和 $b_t$($1≤b_s,b_t≤K$)。他们会将 Bessie 放在房间 $s$ 内,并令她立刻按下按钮 $b_s$。然后 Bessie 需要继续在飞船内穿梭,同时按下按钮。有一些 Bessie 的行动需要遵守的规则:

在每间房间内,在按下恰好一个按钮后,她必须选择从某扇门离开去往另一间房间(可能会回到同一间房间)或停止行动。
一旦 Bessie 按下某个按钮,她再次按下这个按钮即为非法,除非在此之间她按下过编号更大的按钮。换句话说,按下编号为 $x$ 的按钮会使得这个按钮变为非法,同时所有编号 $<x$ 的按钮会被重置为合法。
如果 Bessie 按下非法的按钮,任务即失败,外星人就会把她关起来。
仅当 Bessie 停止行动时位于房间 $t$,她最后按下的按钮是 $b_t$,并且没有按下过非法按钮时,Bessie 才会被释放。

Bessie 担心她可能无法完成这一任务。对于 $Q$($1≤Q≤60$)个询问,每个询问包含一组 Bessie 认为可能的 $s,t,b_s$ 以及 $b_t$,Bessie 想要知道可以使她得到释放的通过房间与按键序列的数量。由于答案可能非常大,输出对 $10^9+7$ 取模的结果。

输入格式

输入的第一行包含 $N,K,Q$。

以下 $N$ 行每行包含 $N$ 个二进制位($0$ 或 $1$)。如果从房间 $i$ 到房间 $j$ 存在一扇门,则第 $i$ 行的第 $j$ 位为 $1$,如果没有这样的门则为 $0$。

以下 $Q$ 行,每行包含四个整数 $b_s$、$s$、$b_t$、$t$,分别表示起始按钮、起始房间、结束按钮、结束房间。

输出格式

对 $Q$ 个询问的每一个,在一行内输出操作序列的数量模 $10^9+7$ 的结果。

输入输出样例

输入 #1
6 3 8
010000
001000
000100
000010
000000
000001
1 1 1 1
3 3 1 1
1 1 3 3
1 1 1 5
2 1 1 5
1 1 2 5
3 1 3 5
2 6 2 6
输出 #1
1
0
1
3
2
2
0
5
输入 #2
6 4 6
001100
001110
101101
010111
110111
000111
3 2 4 3
3 1 4 4
3 4 4 1
3 3 4 3
3 6 4 3
3 1 4 2
输出 #2
26
49
29
27
18
22
输入 #3
6 10 5
110101
011001
001111
101111
111010
000001
2 5 2 5
6 1 5 2
3 4 8 3
9 3 3 5
5 1 3 4
输出 #3
713313311
716721076
782223918
335511486
539247783

说明/提示

测试点 $4\sim7$ 中,$K≤5$ 且 $(b_s,s)$ 在所有询问中均相同。
测试点 $8\sim11$ 中,对所有询问有 $b_s=K−1$ 以及 $b_t=K$。
测试点 $12\sim15$ 中,$N,K,Q≤20$。
测试点 $16\sim23$ 没有额外限制。
上一题 去做题 下一题