Деревянный замок
면접 대비시간 제한2초메모리 제한1024 MB
각 정점이 검은색 또는 흰색으로 칠해진 트리에서 정점 하나를 다시 칠하거나 같은 색 연결 성분 전체를 제거하는 연산을 사용해 모든 정점을 없애는 최소 연산 횟수를 구한다.
문제
Чтобы попасть в заброшенный дом, в котором прячется Оно, ребятам нужно открыть дверь с хитроумным замком. Этот замок представляет собой дерево из вершин, каждая из которых покрашена в белый или черный цвет. Чтобы открыть замок, нужно уничтожить все вершины этого дерева. Для этого ребята могут выполнять две операции:
- Перекрасить еще не уничтоженную вершину из белого в черный, или из черного в белый.
- Запустить цепную реакцию, уничтожающую группу связных вершин одного цвета. Формально, ребята могут выбрать любую еще не уничтоженную вершину цвета , уничтожить ее и все вершины цвета , достижимые из нее по еще не уничтоженным вершинам цвета .
Разумеется, ребятам хочется поскорее попасть в дом, поэтому им интересно узнать, какое минимальное количество операций им потребуется, чтобы открыть замок.
입력
В первый строке дано целое число --- количество вершин в графе (). В следующей строке дана строка длины из символов и . Если -й символ строки равен , то -я вершина покрашена в белый цвет, иначе --- в черный. В следующих строках дано по два целых числа и --- ребра дерева ().
Гарантируется, что ребра образуют дерево.
출력
Выведите одно число --- минимальное количество операций, необходимое, чтобы открыть замок.
힌트
В первом тесте замок можно открыть за два действия следующим образом:
- Перекрасить вершину в белый цвет.
- Запустить цепную реакцию из вершины , она уничтожит все вершины.