回答編集履歴
1
無駄を省く。
    
        answer	
    CHANGED
    
    | 
         @@ -1,4 +1,5 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            すでに解決済みですが、Python の勉強がてら、愚直(愚鈍?)なバージョンを考えてみました。
         
     | 
| 
      
 2 
     | 
    
         
            +
            (無駄なところを省きました。)
         
     | 
| 
       2 
3 
     | 
    
         | 
| 
       3 
4 
     | 
    
         
             
            ```python
         
     | 
| 
       4 
5 
     | 
    
         
             
            nodes = {}
         
     | 
| 
         @@ -9,16 +10,17 @@ 
     | 
|
| 
       9 
10 
     | 
    
         
             
                runners.add(x)
         
     | 
| 
       10 
11 
     | 
    
         
             
                runners.add(y)
         
     | 
| 
       11 
12 
     | 
    
         | 
| 
       12 
     | 
    
         
            -
            ans = []
         
     | 
| 
       13 
13 
     | 
    
         
             
            baton_holder = sta
         
     | 
| 
      
 14 
     | 
    
         
            +
            ans = [baton_holder]
         
     | 
| 
       14 
15 
     | 
    
         | 
| 
       15 
     | 
    
         
            -
            for _ in range(len(runners)):
         
     | 
| 
      
 16 
     | 
    
         
            +
            for _ in range(len(runners)-1):
         
     | 
| 
       16 
     | 
    
         
            -
                ans.append(baton_holder)
         
     | 
| 
       17 
17 
     | 
    
         
             
                runners.remove(baton_holder)
         
     | 
| 
       18 
18 
     | 
    
         
             
                candidates = nodes[baton_holder]
         
     | 
| 
       19 
19 
     | 
    
         
             
                for baton_holder in candidates:
         
     | 
| 
       20 
20 
     | 
    
         
             
                    if baton_holder in runners:
         
     | 
| 
       21 
21 
     | 
    
         
             
                        break
         
     | 
| 
      
 22 
     | 
    
         
            +
                ans.append(baton_holder)
         
     | 
| 
       22 
23 
     | 
    
         | 
| 
       23 
24 
     | 
    
         
             
            print(ans)
         
     | 
| 
       24 
     | 
    
         
            -
            ```
         
     | 
| 
      
 25 
     | 
    
         
            +
            ```
         
     | 
| 
      
 26 
     | 
    
         
            +
            hayataka2049 さんの回答を見て、「僕は、線形探索の回数を減らしたかっただけなんだよ。」と強がってみせる。
         
     |