2014 Anshan network qualifiers 1005 (probability DP) hdu5001
WalkTime Limit: 30000/15000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)
Total Submission (s): 209 Accepted Submission (s): 146
Special Judge
Problem DescriptionI used to think I cocould be anything, but now I know that I couldn't do anything. So I started traveling.
The nation looks like a connected bidirectional graph, and I am randomly walking on it. it means when I am at node I, I will travel to an adjacent node with the same probability in the next step. I will pick up the start node randomly (each node in the graph has the same probability .), and travel for d steps, noting that I may go through some nodes multiple times.
If I miss some sights at a node, it will make me unhappy. So I wonder for each node, what is the probability that my path doesn' t contain it.
InputThe first line contains an integer T, denoting the number of the test cases.
For each test case, the first line contains 3 integers n, m and d, denoting the number of vertices, the number of edges and the number of steps respectively. then m lines follows, each containing two integers a and B, denoting there is an edge between node a and node B.
T <= 20, n <= 50, n-1 <= m <= n * (n-1)/2, 1 <= d <= 10000. there is no self-loops or multiple edges in the graph, and the graph is connected. the nodes are indexed from 1.
OutputFor each test cases, output n lines, the I-th line containing the desired probability for the I-th node.
Your answer will be accepted if its absolute error doesn't exceed 1e-5.
Sample Input
25 10 1001 22 33 44 51 52 43 52 51 41 310 10 101 22 33 44 55 66 77 88 99 104 9
Sample Output
0.00000000000.00000000000.00000000000.00000000000.00000000000.69933179670.58642849520.44408608210.22758969910.42940745910.48510487420.48960188420.45250442500.34065674830.6421630037
Question: RT
Train of Thought: I used to play this game with my teammates, but I still want to do it. A single person may not be as good as two people ~~ DP [I] [j] indicates the probability that the node is currently on the I node and does not pass through j.
Step d of brute force transfer is enough. Each step traverses each edge.
Assume that I and j have edges. Now we need to move from I to j without going through k, and transfer it to DP [j] [k] + = DP [I] [k]. k cannot be equal to j.