주유소
시간 제한: 3500ms메모리 제한: 1024MB출처: KOI 2023 1차BOJ 28219
문제
KOI 국가는 개의 마을로 이루어져 있다. 각 마을에는 번 마을, 번 마을, , 번 마을과 같이 번호가 붙어 있다. 그리고 도로가 개 있는데, 각각의 도로는 서로 다른 두 마을을 잇고 있다. 각 도로에도 번 도로, 번 도로, , 번 도로와 같이 번호가 붙어 있다. 번 도로는 번 마을과 번 마을을 직접 잇고 있다. KOI 국가의 임의의 두 마을에 대해, 두 마을을 잇는 경로가 정확히 하나 존재한다.
번 마을과 번 마을을 잇는 경로는 번 마을 - 번 마을 - 번 마을 - - 번 마을 - 번 마을과 같이 마을로 이루어진 수열 형태를 띤다. 이 수열이 다음 두 성질을 만족할 때 경로라고 부른다.
- 경로를 이루는 인접한 두 마을 사이, 즉 번 마을과 번 마을 사이, 번 마을과 번 마을 사이, , 번 마을과 번 마을 사이를 잇는 도로가 존재한다.
- 경로에는 같은 마을이 두 번 등장하면 안 된다. 즉, 경로를 이루는 번, , , 번, 번 마을은 모두 서로 다른 마을이어야 한다.
이 때 경로의 “길이”는, 경로를 이루는 도로의 수, 즉 로 정의한다.
마을들 중 몇 개의 마을을 골라 주유소를 설치하려 한다. KOI 국가의 법에 따라, 주유소는 다음 조건을 만족하도록 설치해야 한다.
- 길이 인 임의의 경로에, 주유소가 설치된 마을이 적어도 하나 존재해야 한다.
위 조건을 만족하도록 가장 적은 개수의 마을을 골라 주유소를 설치하려 한다. 이 때 설치해야 하는 주유소의 개수의 최솟값을 구하여라.
입력
첫 번째 줄에, 마을의 개수 과 조건에 주어진 값 가 공백을 사이에 두고 주어진다.
두 번째 줄부터 개의 줄에 걸쳐, 각 도로가 잇고 있는 두 마을의 번호 와 가 공백을 사이에 두고 주어진다.
출력
첫 번째 줄에, 설치해야 하는 주유소의 개수의 최솟값을 출력하라.
예제
예제 1
입력
6 2 1 2 1 3 2 4 2 5 4 6
출력
1
예제 2
입력
7 2 1 2 1 3 2 4 2 5 4 6 6 7
출력
2
코드를 제출하려면 로그인하세요.