실행 시간 제한 | 메모리 제한 |
---|---|
2 초 | 512 MB |
코알라 보호센터 주인 민철이는 땅의 모든 필드에 잔디를 심어야 합니다. 땅은 총 개의 필드로 이루어져 있으며, 각 필드는 1부터 까지의 번호가 붙어 있습니다. 땅의 필드들은 개의 양방향 경로로 연결되어 있어서 어떤 필드든 다른 필드로 이동할 수 있습니다.
땅주인 민철이는 가능한 최소한의 잔디 종류를 사용하여 땅의 각 필드에 잔디를 심고자 합니다. 왜냐하면 잔디의 종류가 많을수록 비용이 더 많이 들기 때문입니다.
그러나 보호센터에 있는 코알라들은 고집스럽게도 인접한 필드(즉, 직접적으로 경로로 연결된 필드)나 거의 인접한 필드(즉, 둘 다 경로로 연결된 필드)에 동일한 종류의 잔디가 심어지면 불만을 토로합니다. 따라서 민철이는 이러한 코알라들의 불만을 최소화하려고 합니다.
민철이가 전체 농장에 필요한 최소한의 잔디 종류 수를 결정하는 데 도움을 주세요.
첫 번째 입력 줄은 입니다. 나머지 줄 각각은 연결된 두 필드의 정보를 제공해줍니다.
민철이가 사용해야 하는 최소한의 잔디 종류 수를 출력하세요.
4 1 2 4 3 2 3
3
이 간단한 예시에서, 4개의 필드는 모두 선형적으로 연결되어 있습니다. 최소한 세 가지 종류의 잔디가 필요합니다. 예를 들어, 민철이는 A, B, C라는 잔디 종류로 A - B - C - A와 같이 필드에 잔디를 심을 수 있을 것입니다.
출처: USACO 2019 January Contest, Silver Problem 1. Grass Planting