import numpy as np
def solve(test_cases):
for case in test_cases:
n, m, total_time, edges = case['n'], case['m'], case['total_time'], case['edges']
steps = total_time // 10
tmat = np.zeros((n, n))
for edge in edges:
u, v, p = edge
tmat[u-1][v-1] = p
prob = np.zeros(n)
prob[0] = 1
for _ in range(steps):
prob = np.dot(prob, tmat)
print(prob)
print(np.argmax(prob) + 1)
print(np.max(prob))
test_cases = [
{
"n": 6,
"m": 10,
"total_time": 40,
"edges": [
(1,2,0.3), (1,3,0.7), (3,3,0.2), (3,4,0.8), (2,4,1), (4,5,0.9),
(4,4,0.1), (5,6,1.0), (6,3,0.5), (6,6,0.5)
]
},
{
"n": 6,
"m": 10,
"total_time": 10,
"edges": [
(1,2,0.3), (1,3,0.7), (3,3,0.2), (3,4,0.8), (2,4,1), (4,5,0.9),
(4,4,0.1), (5,6,1.0), (6,3,0.5), (6,6,0.5)
]
}
]
solve(test_cases)
aW1wb3J0IG51bXB5IGFzIG5wCgpkZWYgc29sdmUodGVzdF9jYXNlcyk6CiAgICBmb3IgY2FzZSBpbiB0ZXN0X2Nhc2VzOgogICAgICAgIG4sIG0sIHRvdGFsX3RpbWUsIGVkZ2VzID0gY2FzZVsnbiddLCBjYXNlWydtJ10sIGNhc2VbJ3RvdGFsX3RpbWUnXSwgY2FzZVsnZWRnZXMnXQogICAgICAgIHN0ZXBzID0gdG90YWxfdGltZSAvLyAxMAogICAgICAgIHRtYXQgPSBucC56ZXJvcygobiwgbikpCiAgICAgICAgZm9yIGVkZ2UgaW4gZWRnZXM6CiAgICAgICAgICAgIHUsIHYsIHAgPSBlZGdlCiAgICAgICAgICAgIHRtYXRbdS0xXVt2LTFdID0gcAogICAgICAgIHByb2IgPSBucC56ZXJvcyhuKQogICAgICAgIHByb2JbMF0gPSAxCiAgICAgICAgZm9yIF8gaW4gcmFuZ2Uoc3RlcHMpOgogICAgICAgICAgICBwcm9iID0gbnAuZG90KHByb2IsIHRtYXQpCiAgICAgICAgICAgIHByaW50KHByb2IpCiAgICAgICAgcHJpbnQobnAuYXJnbWF4KHByb2IpICsgMSkKICAgICAgICBwcmludChucC5tYXgocHJvYikpCnRlc3RfY2FzZXMgPSBbCiAgICB7CiAgICAgICAgIm4iOiA2LAogICAgICAgICJtIjogMTAsCiAgICAgICAgInRvdGFsX3RpbWUiOiA0MCwKICAgICAgICAiZWRnZXMiOiBbCiAgICAgICAgICAgICgxLDIsMC4zKSwgKDEsMywwLjcpLCAoMywzLDAuMiksICgzLDQsMC44KSwgKDIsNCwxKSwgKDQsNSwwLjkpLAogICAgICAgICAgICAoNCw0LDAuMSksICg1LDYsMS4wKSwgKDYsMywwLjUpLCAoNiw2LDAuNSkKICAgICAgICBdCiAgICB9LAogICAgewogICAgICAgICJuIjogNiwKICAgICAgICAibSI6IDEwLAogICAgICAgICJ0b3RhbF90aW1lIjogMTAsCiAgICAgICAgImVkZ2VzIjogWwogICAgICAgICAgICAoMSwyLDAuMyksICgxLDMsMC43KSwgKDMsMywwLjIpLCAoMyw0LDAuOCksICgyLDQsMSksICg0LDUsMC45KSwKICAgICAgICAgICAgKDQsNCwwLjEpLCAoNSw2LDEuMCksICg2LDMsMC41KSwgKDYsNiwwLjUpCiAgICAgICAgXQogICAgfQpdCnNvbHZlKHRlc3RfY2FzZXMpCg==