그래프와 쿼리
시간 제한2초메모리 제한256 MB
방향 간선 일부가 삭제된 상태에서, 질의마다 정점 1에서 주어진 정점까지 최단 경로 길이를 출력한다.
문제
방향 그래프 가 주어진다. 모든 간선의 길이는 이다. 다음 두 종류의 쿼리를 처리해야 한다.
- 간선 하나를 제거한다.
- 정점 에서 정점 까지의 최단 경로 길이를 출력한다. 경로가 없으면 을 출력한다.
입력
첫째 줄에 정점의 수 , 간선의 수 , 쿼리의 수 가 주어진다. (, , ) 정점은 부터 까지, 간선은 부터 까지 번호가 매겨져 있다.
이어서 개의 줄에 간선 정보가 주어진다. 번째 줄은 간선 를 나타내며, 두 정수 , (, )로 이루어진다. 이는 정점 에서 정점 로 향하는 방향 간선을 뜻한다.
이어서 개의 줄에 쿼리가 순서대로 주어진다. 각 쿼리는 문자 와 정수 로 주어진다. ()
- 이면 번 간선을 제거한다. 이미 제거된 간선을 다시 제거하는 경우는 없다. ()
- 이면 정점 에서 정점 까지의 최단 경로 길이를 출력한다. 경로가 없으면 을 출력한다. ()
인 쿼리가 적어도 하나 있음이 보장된다.
출력
인 쿼리마다 정점 에서 정점 까지의 최단 경로 길이를 한 줄에 하나씩, 쿼리가 주어진 순서대로 출력한다. 경로가 없으면 을 출력한다.