#P3250. Light Switches
Light Switches
题目背景
Minecraft 中有很多可爱的生物,比如 Creeper(又名 JJ 怪)和各种僵尸。当你没有足够的装备时,遇到它们只能逃跑。为了防止它们在你辛苦建造的房子旁边爆炸,你决定考察附近的地形,并设计一些迂回线路来应对多个怪物。
题目描述
给定一个有向图,图中边的长度均为 1。请计算总长度小于 的环的个数,并将结果对 取模。
需要注意的是,题目中的“不同环”定义请参考样例部分。保证图中没有自环(即对于所有 ,有 )。
输入格式
第一行包含一个整数 ,表示图的节点个数。
接下来的 行,每行长度为 的字符串 ,其中:
- 如果 ,表示存在从节点 到节点 的一条有向边;
- 如果 ,表示从节点 到节点 没有边。
最后一行包含两个整数 和 。
输入数据范围:
输出格式
输出一个整数,表示总长度小于 的环的个数,对 取模后的结果。
样例
输入样例:
4
NYNY
NNYN
YNNN
YNNN
6 100
输出样例:
12
样例解释:
12 个不同的环如下所示:
- 长度为 2 的环:, 。
- 长度为 3 的环:, , 。
- 长度为 4 的环:, 。
- 长度为 5 的环:, , , , 。
提示
- 请特别注意题目中的环不允许有自环(即 恒成立)。
- 环的路径需要按起始节点和经过的顺序区分,样例中的多个解说明了不同环的表示。