#1524
체크포인트
- 시간 제한
- 1s
- 메모리 제한
- 512MB
- 제출
- 19
- 정답
- 5
- 맞힌 사람
- 5
- 정답 비율
- 26.3%
문제
번부터 번까지 번호가 붙은 정점으로 이루어진 트리가 있다. 이 트리의 루트는 번 정점이다. 소원이는 처음에 번 정점에 있으며, 모든 정점을 적어도 한 번 방문하려고 한다.
소원이는 다음 세 가지 행동을 원하는 만큼 할 수 있다.
- 이동: 현재 정점의 자식 정점으로 간선을 따라 이동한다. 간선 하나를 지날 때마다 비용 이 들며, 부모 정점으로는 이동할 수 없다.
- 와드 설치: 현재 정점에 와드를 설치한다. 비용은 들지 않으며, 이미 설치된 와드가 있다면 사라지고 새 와드만 남는다.
- 순간이동: 와드가 설치된 정점으로 순간이동한다. 비용은 들지 않으며, 순간이동한 뒤에도 와드는 사라지지 않는다. 와드가 설치되어 있지 않으면 순간이동할 수 없다.
처음에는 와드가 설치되어 있지 않다. 소원이는 시작 위치인 번 정점에도 와드를 설치할 수 있다.
이미 방문한 정점을 다시 방문해도 되며, 순간이동으로 도착한 정점도 방문한 것으로 센다.
소원이가 모든 정점을 적어도 한 번 방문하는 데 필요한 최소 비용을 구하여라.
입력
첫째 줄에 정점의 수 이 주어진다.
다음 개의 줄에 간선으로 연결된 두 정점의 번호 , 가 공백으로 구분되어 주어진다.
주어지는 간선은 방향이 없으며, 전체 그래프는 트리이다. 부모와 자식 관계는 번 정점을 루트로 하여 정한다.
출력
모든 정점을 적어도 한 번 방문하는 데 필요한 최소 비용을 출력한다.
예제 1
7
1 2
1 3
2 4
2 5
3 6
3 7
출력 1
7
힌트
다음과 같이 모든 정점을 방문할 수 있다.
- 번 정점에 와드를 설치한다.
- 으로 이동한 뒤 번 정점으로 순간이동한다. 이동 비용은 이다.
- 로 이동한 뒤 번 정점으로 순간이동한다. 이동 비용은 이다.
- 로 이동한 뒤 번 정점에 와드를 설치한다. 이동 비용은 이며, 번 정점의 와드는 사라진다.
- 로 이동한 뒤 번 정점으로 순간이동한다. 이동 비용은 이다.
- 로 이동한다. 이동 비용은 이다.
총비용은 이며, 이보다 적은 비용으로 모든 정점을 방문할 수는 없다.
- 문제를 만든 사람
- 황현석
코드 제출
코드를 제출하려면 로그인이 필요합니다.
로그인내 제출
제출 내역이 없습니다.
맞은 사람
| # | 순위 | 사용자 | 언어 | 시간 | 메모리 | 코드 길이 | |
|---|---|---|---|---|---|---|---|
| 10203 | 🥇 | 상받고싶습니다 | C++ | 34ms | 10584KB | 1491B | |
| 10195 | 🥈 | 세얼간이 | C++ | 37ms | 18328KB | 1241B | |
| 10193 | 🥉 | 안녕하세요케이터링먹으러왔습니다감사합니다 | C++ | 48ms | 15640KB | 1095B | |
| 10183 | 4 | SW-IT Contest는 충남대학교 컴퓨터인공지능학부 알고리즘 동아리 ANA에서 주최하는 프로그래밍 대회로, 팀으로 출전하여 알고리즘 문제를 해결하는 대회입니다. | C++ | 48ms | 19672KB | 894B | |
| 10225 | 5 | 실외기선풍기세탁기 | Java | 368ms | 103500KB | 1742B |
난이도 투표
로그인 후 AC 받으면 투표할 수 있습니다.
전체 제출
제출 내역이 없습니다.