특별한 그래프
시간 제한1초메모리 제한64 MB
나가는 간선이 최대 하나인 방향 그래프에서 간선 삭제를 반영하며 a에서 시작한 걸음이 b에 닿는 거리를 구합니다.
문제
정점이 개인 방향 그래프가 있다. 이 그래프는 정점마다 나가는 간선이 최대 한 개라는 점이 특별하다. 다음 두 종류의 질의를 처리한다.
1 a: 정점 에서 나가는 간선을 지운다. 이 간선은 반드시 존재한다.2 a b: 정점 에서 정점 로 가는 최단 경로의 길이를 출력한다. 경로가 없으면 -1을 출력한다.
경로의 길이는 지나는 간선의 개수다. 정점에서 나가는 간선이 최대 한 개이므로 에서 출발하는 경로는 하나뿐이고, 그 경로를 따라가다 에 처음 닿을 때까지 지난 간선의 수가 답이다. 와 가 같으면 답은 0이다.
입력
첫째 줄에 정점의 개수 ()이 주어진다.
둘째 줄에 정수 개 ()이 주어진다. 는 정점 에서 정점 로 가는 간선이 있다는 뜻이고, 이면 정점 에서 나가는 간선이 없다.
셋째 줄에 질의의 개수 ()이 주어진다.
다음 개의 줄에 질의가 한 줄에 하나씩 주어진다. 형식은 위에서 설명한 것과 같고, 이다.
출력
2 a b 질의마다 답을 한 줄에 하나씩, 입력에 주어진 순서대로 출력한다.