Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import sys
- sys.setrecursionlimit(10**9)
- def dfs(x):
- used[x]=1
- ans.append(x+1)
- if x+1==n:
- print(len(ans) - 1)
- for i in ans:
- print(i,end=' ')
- exit()
- for i in range(n):
- if d[x][i] == 1 and not used[i]:
- dfs(i)
- ans.pop()
- n=int(input())
- d=[0]*n
- for i in range(n):
- s=list(map(int,input().split()))
- d[i] = [0] * n
- for j in range(n):
- if s[j]==1 or s[j]==n:
- d[i][j]=1
- for i in range(n):
- for j in range(i,n):
- if d[i][j]==1 or d[j][i]==1:
- d[j][i],d[i][j]=1,1
- used=[0]*n
- used[0]=1
- if s[0]==0:
- while True:
- s[0]+=1
- print(-1)
- else:
- ans=[]
- dfs(0)
- if used[-1]==0:
- print(-1)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement