結果
| 問題 | 
                            No.92 逃走経路
                             | 
                    
| コンテスト | |
| ユーザー | 
                             kichirb3
                         | 
                    
| 提出日時 | 2018-03-26 23:53:13 | 
| 言語 | Python3  (3.13.1 + numpy 2.2.1 + scipy 1.14.1)  | 
                    
| 結果 | 
                             
                                AC
                                 
                             
                            
                         | 
                    
| 実行時間 | 156 ms / 5,000 ms | 
| コード長 | 886 bytes | 
| コンパイル時間 | 156 ms | 
| コンパイル使用メモリ | 12,800 KB | 
| 実行使用メモリ | 11,008 KB | 
| 最終ジャッジ日時 | 2024-06-25 12:22:50 | 
| 合計ジャッジ時間 | 2,751 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge4 / judge2 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 2 | 
| other | AC * 18 | 
ソースコード
# -*- coding: utf-8 -*-
"""
No.92 逃走経路
https://yukicoder.me/problems/no/92
"""
import sys
from sys import stdin
input = stdin.readline
def solve(N, cities, logs):
    possibilities = set([x for x in range(1, N+1)])
    for l in logs:
        np = set()
        for p in possibilities:
            for dest, cost in cities[p]:
                if cost == l:
                    np.add(dest)
        possibilities = np
    ans = list(possibilities)
    ans.sort()
    return ans
def main(args):
    N, M, K = map(int, input().split())
    cities = [[] for _ in range(N+1)]
    for _ in range(M):
        a, b , c = map(int, input().split())
        cities[a].append([b, c])
        cities[b].append([a, c])
    logs = [int(x) for x in input().split()]
    ans = solve(N, cities, logs)
    print(len(ans))
    print(*ans)
if __name__ == '__main__':
    main(sys.argv[1:])
            
            
            
        
            
kichirb3