Advertisement
Guest User

Untitled

a guest
Jan 19th, 2019
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.75 KB | None | 0 0
  1. import sys
  2. sys.setrecursionlimit(10**9)
  3. def dfs(x):
  4. used[x]=1
  5. ans.append(x+1)
  6. if x+1==n:
  7. print(len(ans) - 1)
  8. for i in ans:
  9. print(i,end=' ')
  10. exit()
  11. for i in range(n):
  12. if d[x][i] == 1 and not used[i]:
  13. dfs(i)
  14. ans.pop()
  15.  
  16. n=int(input())
  17. d=[0]*n
  18. for i in range(n):
  19. s=list(map(int,input().split()))
  20. d[i] = [0] * n
  21. for j in range(n):
  22. if s[j]==1 or s[j]==n:
  23. d[i][j]=1
  24. for i in range(n):
  25. for j in range(i,n):
  26. if d[i][j]==1 or d[j][i]==1:
  27. d[j][i],d[i][j]=1,1
  28. used=[0]*n
  29. used[0]=1
  30. if s[0]==0:
  31. while True:
  32. s[0]+=1
  33. print(-1)
  34. else:
  35. ans=[]
  36. dfs(0)
  37. if used[-1]==0:
  38. print(-1)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement