#127
트리와 경로 개수 쿼리
시간 제한
1s
메모리 제한
512MB
제출
1
정답
1
맞힌 사람
1
정답 비율
100.0%
문제
개의 정점으로 이루어진 트리가 있다. 정점은 번부터 번까지 번호가 매겨져 있다. 정점에는 색깔이 있는데 모든 정점은 빨간색 혹은 파란색이다. 이 때, 다음과 같은 쿼리를 수행하는 프로그램을 작성해보자.
u: 임의의 빨간색 정점과 파란색 정점을 연결하는 단순 경로 중에서 번 정점을 경유하는 경로의 개수를 출력한다. 경로에는 방향성이 없으며, 어떤 경로가 번 정점을 경유한다는 것은 경로가 시작이나 끝이 아닌 중간에 번 정점을 지난다는 것이다.
입력
첫째 줄에 트리의 크기 이 주어진다.
두 번째 줄에 정수 이 주어진다. 는 번째 정점의 색깔이며, 은 빨간색을, 은 파란색을 의미한다.
세 번째 줄 부터 개의 줄에 트리의 두 정점을 연결하는 간선의 번호 가 주어진다.
번째 줄에 쿼리의 개수 이 주어진다.
번째 줄부터 개의 줄에 쿼리가 주어진다.
쿼리는 하나의 정수 로 이루어져 있다.
출력
쿼리의 수행 결과를 한 줄에 하나씩 출력한다.
예제 입력 1
5
1 1 1 0 0
1 3
3 2
3 4
3 5
3
2
3
4
예제 출력 1
0
4
0
예제 입력 2
7
1 0 1 1 1 0 0
1 2
1 3
2 4
2 5
3 6
3 7
3
1
2
3
예제 출력 2
5
4
6
- 문제를 만든 사람
- 201802070_김시온
- 알고리즘 분류
코드 제출
코드를 제출하려면 로그인이 필요합니다.
로그인내 제출
제출 내역이 없습니다.
맞은 사람
| # | 순위 | 사용자 | 언어 | 시간 | 메모리 | 코드 길이 | |
|---|---|---|---|---|---|---|---|
| 5494 | 🥇 | 조서현 | C++ | 26ms | 10868KB | 1189B |
난이도 투표
로그인 후 AC 받으면 투표할 수 있습니다.
전체 제출
| # | 사용자 | 문제 | 결과 | 언어 | 시간 | 메모리 | 코드 길이 | 제출 시간 | |
|---|---|---|---|---|---|---|---|---|---|
| 5494 | 맞았습니다 | C++ | 26ms | 10868KB | 1189B | 2026. 04. 18. 13:47 |