다중 간선
시간 제한0.5초메모리 제한1024 MB
간선을 추가하거나 제거하는 질의가 온라인 상호작용 방식으로 주어지며, 질의마다 연결 요소의 개수를 출력합니다.
문제
이것은 인터랙티브 문제다.
처음에는 간선이 없는 상태에서 개의 정점과 개의 쿼리가 주어진다. 정점은 1부터 까지 번호가 매겨져 있다. 각 쿼리는 다음 두 종류 중 하나다.
1 a b: 정점 와 정점 를 잇는 무방향 간선을 추가한다. 이 쿼리를 처리할 때 간선 - 는 존재하지 않음이 보장된다.2 a b: 정점 와 정점 를 잇는 간선을 끊는다. 이 쿼리를 처리할 때 간선 - 는 존재함이 보장된다.
각 쿼리를 처리한 뒤, 그래프의 연결 요소 개수를 출력한다.
입력
첫 줄에 과 가 주어진다. 두 값은 , 을 만족한다. 이 줄 다음부터 인터랙션이 시작된다.
인터랙션 프로토콜
쿼리는 한 줄에 하나씩, 총 줄을 읽는다. 쿼리는 순서대로 주어지며, 번째 쿼리는 적어도 개의 쿼리에 대한 답을 출력한 뒤에야 주어진다. 각 답을 출력한 뒤에는 아래 방법으로 출력 스트림을 비운다.
- C:
fflush(stdout); - C++:
std::cout << std::flush; - Java:
System.out.flush(); - Python:
sys.stdout.flush()
다른 언어는 해당 언어의 공식 문서를 참고한다.
힌트
각 쿼리를 처리한 후 그래프에는 자기 루프나 다중 간선이 없다는 것이 보장된다.