py 90超时求解
查看原帖
py 90超时求解
941388
ptkptk楼主2023/2/25 23:44
vis=[0]*205
com=200
def dfs(now,num):#num 为按键次数
    global com
    if num>com:return
    if now==b: com=min(num,com)
    
    vis[now]=1
    if now+k[now-1]<=n and vis[now+k[now-1]]==0:
        
        dfs(now+k[now-1],num+1)
    if now-k[now-1]>=1 and vis[now-k[now-1]]==0:
        
        dfs(now-k[now-1],num+1)
    vis[now]=0

n,a,b=map(int,input().split())
k=list(map(int,input().split()))


dfs(a,0)
if com!=200:print(com)
else:print(-1)
        
       

    







2023/2/25 23:44
加载中...