제가 자체적으로 풀어보니 책의 search3과 일맥상통하는 듯 한데 RTE 오류가 나옵니다. route가 1일 때 sum(a[v])로 나누는 것이라 divided by zero는 아닐텐데 어디가 문제일까요?
import sys
input = sys.stdin.readline
def solve(day, location):
if day == 0:
return dp[day][location]
if not dp[day][location]:
for v, route in enumerate(a[location]):
if route:
dp[day][location] += solve(day - 1, v) / sum(a[v])
return dp[day][location]
c = int(input())
for _ in range(c):
n, d, p = map(int, input().split())
dp = [[0] * n for _ in range(d + 1)]
dp[0][p] = 1
a = []
for _ in range(n):
a.append(list(map(int, input().split())))
t = int(input())
q = list(map(int, input().split()))
for v in q:
print(f"{solve(d, v):.8f}", end=" ")
print()
2주 전
0개의 댓글이 있습니다.
정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면
온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야
합니다. 현재 문제를 푸셨습니다.
verze
제가 자체적으로 풀어보니 책의 search3과 일맥상통하는 듯 한데 RTE 오류가 나옵니다. route가 1일 때 sum(a[v])로 나누는 것이라 divided by zero는 아닐텐데 어디가 문제일까요?
import sys
input = sys.stdin.readline
def solve(day, location):
if day == 0:
return dp[day][location]
c = int(input())
for _ in range(c):
n, d, p = map(int, input().split())
dp = [[0] * n for _ in range(d + 1)]
dp[0][p] = 1
a = []
for _ in range(n):
a.append(list(map(int, input().split())))
t = int(input())
q = list(map(int, input().split()))
for v in q:
print(f"{solve(d, v):.8f}", end=" ")
print()
2주 전