아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

사이클 없는 그래프 만들기

시간 제한1초메모리 제한1024 MB

요약
매일 전날 지운 정점의 이웃을 지울 때, 남은 그래프에 사이클이 처음으로 사라지는 날을 구한다.
난이도

보통10점 중 7점

유형
그래프, BFS, 유니온 파인드
정답자
아직 제출이 없습니다

문제

NN개의 정점과 MM개의 간선을 가진 무향 그래프 GG가 주어진다. 시간 T=1T=1일 때, GG에서 정해진 KK개의 정점을 지운다. T=t (1<t)T=t\ (1 < t)일 때는 T=t−1T=t-1에서 지워진 정점과 이웃하였던 정점들을 지운다. 이때 GG에 사이클이 존재하지 않는 최초의 시간 T=CT=C를 구하는 프로그램을 작성하여라.

처음 주어지는 그래프 GG는 모든 정점이 연결된 연결 그래프이며, 사이클이 존재한다. 또한 정점이 삭제되면 해당 정점과 연결된 간선도 함께 없어진다. 자기 자신과 연결된 간선은 주어지지 않으며, 중복된 간선이 주어질 수 있다.

입력

첫 번째 줄에 그래프 GG의 정점의 수 NN과 간선의 수 MM, 시간 T=1T=1일 때 삭제하는 정점의 수 KK가 공백으로 구분되어 주어진다. (2≤N≤M≤200,000;(2\le N\le M\le 200\\, 000; 1≤K≤N)1\le K\le N)

두 번째 줄부터 MM개의 줄에 걸쳐 간선의 정보 u,vu, v가 공백으로 구분되어 주어진다. 이는 uu번 정점과 vv번 정점이 간선으로 연결되어 있음을 의미한다. (1≤u,v≤N;(1\le u,v\le N; u≠v)u \ne v)

그 다음 줄에는 T=1T=1일 때 삭제하는 정점의 번호 KK개가 공백으로 구분되어 주어진다.

출력

첫 번째 줄에 T=CT=C에서 정점을 지우고 처음으로 사이클이 존재하지 않게 되었을 때의 시간 CC를 출력한다.

힌트

GG의 사이클은 GG의 부분그래프 중 비어있지 않고 연결되어 있으며, 모든 정점의 차수가 22인 그래프를 의미한다.

예제2

  1. 예제 1

    입력
    7 8 1
    1 2
    2 3
    2 5
    3 4
    4 5
    4 6
    5 6
    6 7
    3
    
    예상 출력
    2
    
  2. 예제 2

    입력
    4 4 3
    1 2
    2 3
    3 4
    4 1
    1 2 4
    
    예상 출력
    1