Advertisement
Guest User

Untitled

a guest
Apr 21st, 2018
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.85 KB | None | 0 0
  1. pages = open("links.txt").readlines()[1:]
  2.  
  3. page_map = {}
  4. for page in pages:
  5. p = page.strip().split(', ')
  6. src = p[1]
  7. dst = p[2]
  8. rank = int(p[0])
  9. if src not in page_map.keys():
  10. page_map[src] = []
  11. page_map[src].append({
  12. "dst": dst,
  13. "rank": rank
  14. })
  15.  
  16.  
  17. def traverse(src, current_percentage):
  18. total_rank = sum([info["rank"] for info in page_map[src]]) * 1.0
  19. min_rank = min([info["rank"] for info in page_map[src]])
  20. total_sum = 0.0
  21. for dst_info in page_map[src]:
  22. dst = dst_info["dst"]
  23. if (dst == "finish.html"):
  24. return current_percentage
  25. new_current = dst_info["rank"] / total_rank * current_percentage
  26. if (dst_info["rank"] != min_rank):
  27. total_sum += traverse(dst, new_current)
  28. return total_sum
  29.  
  30.  
  31.  
  32. current = "start.html"
  33.  
  34. current_percentage = 100.0
  35.  
  36. print 16200000 * traverse(current, current_percentage)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement