蓝桥杯 python 作物杂交
递归思想:
获得get型作物的天数=获得参与杂交的两种原料的时间+杂交时间
在这里插入代码片n,m,k,t=map(int,input().split())
T=list(map(int,input().split()))
M=list(map(int,input().split()))
mix=[[] for i in range(n+1)]
f=[100000 for i in range(n+1)]##获得该类型作物所需时间
for i in M:
f[i]=0
for i in range(k):
temp1,temp2,temp3=map(int,input().split())
temp=max(T[temp1-1],T[temp2-1])##该品种杂交所需时间
ls=[temp1,temp2,temp]
mix[temp3].append(ls)
def dfs(get):##获得get类型作物所需时间
if f[get]!=100000:
return f[get]
for i in range(len(mix[get])):
f[get]=min(f[get],max(dfs(mix[get][i][0]),dfs(mix[get][i][1]))+mix[get][i][2])
return f[get]
print(dfs(t))