fork(1) download
  1. def next(n,a):
  2. a=a[1:]
  3. for i in range(n-2,-1,-1):
  4. if i==0:
  5. return -1
  6. elif a[i-1]<a[i]:
  7. for j in range(n-2,i-1,-1):
  8. if a[i-1]<a[j]:
  9. t=a[j]
  10. a[j]=a[i-1]
  11. a[i-1]=t
  12. break
  13. return [0]+a[:i]+list(reversed(a[i:]))
  14. return 0
  15.  
  16.  
  17. n=int(input())
  18. a=[]
  19. for _ in range(n):
  20. a.append(list(map(int,input().split(' '))))
  21. b=[x for x in range(n)]
  22. low=-1
  23. while b!=-1:
  24. ans=0
  25. c=0
  26. for i in range(n-1):
  27. if a[b[i]][b[i+1]]==0:
  28. c=1
  29. break
  30. else:
  31. ans+=a[b[i]][b[i+1]]
  32. if c==0:
  33. if a[b[n-1]][b[0]]!=0:
  34. ans+=a[b[n-1]][b[0]]
  35. if low>ans or low==-1:
  36. low=ans
  37. b=next(n,b)
  38. print(low)
Runtime error #stdin #stdout #stderr 0.12s 23588KB
stdin
4
0 10 15 20
5  0  9 10
6 13  0 12
8  8  9  0
stdout
Standard output is empty
stderr
Traceback (most recent call last):
  File "./prog.py", line 20, in <module>
ValueError: invalid literal for int() with base 10: ''