목차

Yes or yes

ps
링크acmicpc.net/…
출처BOJ
문제 번호25195
문제명Yes or yes
레벨골드 4
분류

그래프순회

시간복잡도O(V+E)
인풋사이즈V<=100,000, E<=100,000
사용한 언어Python
제출기록54992KB / 252ms
최고기록236ms
해결날짜2022/11/18
출처

제1회 곰곰컵

풀이

코드

"""Solution code for "BOJ 25195. Yes or yes".

- Problem link: https://www.acmicpc.net/problem/25195
- Solution link: http://www.teferi.net/ps/problems/boj/25195

Tags: [graph traversal]
"""

import sys
from teflib import graph as tgraph

INF = float('inf')
SOURCE = 0


def main():
    N, M = [int(x) for x in sys.stdin.readline().split()]
    graph = [[] for _ in range(N)]
    for _ in range(M):
        u, v = [int(x) for x in sys.stdin.readline().split()]
        graph[u - 1].append(v - 1)
    S = int(sys.stdin.readline())  # pylint: disable=unused-variable
    s = [int(x) for x in sys.stdin.readline().split()]

    dists = [INF] * N
    for u in s:
        dists[u - 1] = -1
    for u in tgraph.bfs_iter(graph, SOURCE, distances=dists):
        if not graph[u]:
            print('yes')
            break
    else:
        print('Yes')


if __name__ == '__main__':
    main()