QOJ.ac

QOJ

حد الوقت: 2.0 s حد الذاكرة: 256 MB مجموع النقاط: 100

#153. 仙人掌中的孤独者

الإحصائيات

仙人掌图(Cactus)是一个连通的无向图,其中每条边最多属于一个简单环。

给定一个包含 $n$ 个顶点和 $m$ 条边的仙人掌图。每个顶点被染成红色、绿色或蓝色。所有顶点按 $1$ 到 $n$ 的顺序编号。此类图的示例如下图所示:

初始时,你位于顶点 $s$。然后你开始移动到某个尚未访问过的相邻顶点,直到不存在这样的顶点为止。选择每个符合条件的顶点的概率是相等的。当不存在这样的顶点时,你停在某个顶点 $t$。如果 $t$ 被染成红色或绿色,则过程停止。如果 $t$ 被染成蓝色,则过程应从顶点 $s$ 重新开始。

你需要编写一个程序,对于给定的仙人掌图,计算过程最终停在红色顶点的概率 $\frac{p}{q}$,并输出整数 $p \cdot q^{-1} \pmod{10^9 + 7}$。其中 $q^{-1}$ 是整数 $q$ 在模 $10^9 + 7$ 下的模逆元。

输入格式

输入的第一行包含三个空格分隔的整数 $n, m$ 和 $s$ ($2 \le n \le 10^5, m \ge n - 1, 1 \le s \le n$)。第二行包含 $n$ 个字符,第 $i$ 个字符表示顶点 $i$ 的颜色:‘R’ 表示红色,‘G’ 表示绿色,‘B’ 表示蓝色。接下来的 $m$ 行,每行包含两个整数 $u_i, v_i$,表示由边连接的顶点编号 ($1 \le u_i, v_i \le n$)。

保证给定的图是一个仙人掌图且不包含重边。

输出格式

输出仅一行,包含一个整数 $p \cdot q^{-1} \pmod{10^9 + 7}$。如果过程是无限的,则输出 “NaN”(不含引号)。

样例

样例输入 1

6 6 1
GRGRGB
1 2
1 3
2 4
3 4
4 5
4 6

样例输出 1

250000002

样例输入 2

14 15 2
RGRGRBGGBRBRGG
1 2
2 3
2 4
5 2
7 4
4 6
10 6
11 7
10 13
11 13
8 5
8 12
8 9
14 9
12 14

样例输出 2

833333340

说明

两个样例均对应题目中的图。第一个样例对应左侧的仙人掌图,第二个样例对应右侧的仙人掌图。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.