10. 迷宫探险

难度: 困难
时间限制: 1秒
内存限制: 20MB

题目描述

在一个神秘的地下迷宫中,有n个房间,编号1到n。每个房间有若干条单向通道通往其他房间(没有自环)。探险者从房间s出发,每次随机选择一条从当前房间出发的通道(等概率),沿着通道进入下一个房间。 当探险者到达房间t时,探险结束。你需要计算到达房间t所需的期望步数(即移动的次数)。由于答案可能很大,请输出对10°+7取模的结果(即期望值在模意义下的值,涉及除法用乘法逆元)。 输入格式: 第一行包含四个整数n,m,s,t,分别表示房间数、通道数、起点和终点。 接下来m行,每行两个整数u,0,表示一条从u到u的单向通道。保证没有自环,但可能有重边。 输出格式: 输出一个整数,表示期望步数对10°+7取模的结果。如果永远无法到达终点,输出一1。 输入输出样例 输入: 3 4 1 3 1 2 2 1 1 3 2 3 输出: 2 数据规模与约定: l≤n≤200 0≤m≤n(n-1) 1≤s,t≤n,s和t可能相同 保证从任意房间出发,在随机游走下以概率1能到达终点(即所有点都能到达t)。
C++
支持C++11标准
返回题库