그래프 자르기
시간 제한4초메모리 제한2048 MB
정점 집합 U에 정점을 넣거나 빼는 질의를 처리하고, U와 나머지 정점을 잇는 간선을 하나 삭제하거나 없으면 0을 출력하는 문제입니다.
문제
방향이 없는 그래프가 주어진다. 이 그래프에는 다중 간선과 자기 루프가 없다. 또한 이 그래프의 정점 집합 가 있으며, 처음에는 비어 있다. 다음 세 종류의 질의에 답하라.
질의
- "
+": 정점 를 에 추가한다. 가 보장된다. - "
-": 정점 를 에서 제거한다. 가 보장된다. - "
?": 양 끝점 중 정확히 하나만 에 속하는 간선을 하나 찾아 그래프에서 제거한다. 그런 간선이 없으면 그렇다고 판단한다. 조건을 만족하는 간선이 여럿이면 그중 아무거나 골라도 된다.
입력
첫 줄에 정점 수 과 간선 수 이 주어진다 (). 다음 개 줄에는 방향이 없는 간선의 양 끝점 , 가 주어진다 (). 다중 간선과 자기 루프는 없다.
다음 줄에 질의의 수 가 주어진다 (). 다음 개 줄에는 위에서 설명한 형식의 질의가 주어진다 ().
출력
세 번째 종류의 질의마다 제거한 간선의 입력 순서 번호를 출력한다. 그런 간선이 없으면 을 출력한다.