题目链接:
题目意思:
有一个起点S,多个出口E,#代表不能走,每次等概率的随机选择下一个可以行走的位置,求从S到出口的期望。
解题思路:
高斯消元求解期望。
先BFS预处理能够到达的出口的位置,然后如果从起点不能到达终点,直接输出-1.
然后对于无效的点,置该未知数的解为-1,否则依据dp[i][j]=1+dp[i-1][j]*1/4+dp[i][j+1]*1/4+dp[i+1][j]*1/4+dp[i][j-1]*1/4,构建n*m个方程,注意有些位置的可行位置数小于4,为cnt的话,此时的下一步概率为1/cnt.
然后解方程,求出唯一解。
PS:
解方程时,如果有的未知数有解,有的无解,可以将无解的情况置一个特殊值,然后按有唯一解的方式来解方程,避免无解未知数对有解未知数的影响。
方程系数要清零。wa了好几次。
代码:
#include #include #include #include #include #include #include #include #include #include