#810
동적 연결성과 쿼리 (Hard)
시간 제한
2s
메모리 제한
1024MB
제출
2
정답
1
맞힌 사람
1
정답 비율
50.0%
문제
Easy 버전과 Hard 버전의 차이는 쿼리의 암호화 여부 차이다.
개의 정점으로 이루어진 그래프가 주어진다. 각 정점에는 부터 까지 번호가 매겨져 있고, 초기에는 각 정점 사이에 간선이 없다. 이때 다음 쿼리를 수행하는 프로그램을 작성해 보자.
1 u v: 번 정점과 번 정점 사이에 간선이 없으면 간선을 추가하고, 있으면 제거한다.2 u v: 번 정점과 번 정점 사이에 경로가 존재하면1을 출력하고, 없으면0을 출력한다.
입력
첫째 줄에 과 쿼리의 개수 가 주어진다. ()
둘째 줄부터 개의 줄에 걸쳐 쿼리 복원에 필요한 세 정수 , , 가 주어진다. ()
쿼리는 다음과 같이 복원한다.
- 쿼리 종류
단, 는 Bitwise-XOR 연산이다. 는 초기에는 이며, 매 쿼리 수행 이후 번 정점이 속한 연결 요소의 크기가 더해진다. 임이 보장된다.
출력
2번 쿼리의 답을 한 줄에 하나씩 출력한다.
예제 입력 1
3 8
1 2 1
0 1 0
2 2 0
4 6 5
7 7 5
9 8 10
9 11 9
13 13 14
예제 출력 1
0
0
0
1
힌트
예제 입력 1의 복원된 쿼리는 순서대로 다음과 같다.
2 3 2
2 1 2
1 1 3
1 3 2
1 1 3
2 1 3
1 3 1
2 2 3
- 문제를 만든 사람
- 조서현
- 알고리즘 분류
코드 제출
코드를 제출하려면 로그인이 필요합니다.
로그인내 제출
제출 내역이 없습니다.
맞은 사람
| # | 순위 | 사용자 | 언어 | 시간 | 메모리 | 코드 길이 | |
|---|---|---|---|---|---|---|---|
| 5567 | 🥇 | 조서현 | C# | 801ms | 552580KB | 23198B |
난이도 투표
로그인 후 AC 받으면 투표할 수 있습니다.
전체 제출
| # | 사용자 | 문제 | 결과 | 언어 | 시간 | 메모리 | 코드 길이 | 제출 시간 | |
|---|---|---|---|---|---|---|---|---|---|
| 5567 | 맞았습니다 | C# | 801ms | 552580KB | 23198B | 2026. 04. 23. 10:45 | |||
| 5566 | 틀렸습니다 | C# | - | - | 23251B | 2026. 04. 23. 10:45 |