Катки зимнего фестиваля

Просмотр в формате PDF

Submit solution


Очки: 140
Ограничение по времени: 1.0s
Ограничение по памяти: 64M

Автор:
Problem types
Allowed languages
C++, Python

В снежном городе готовят зимний фестиваль. Для этого на карте города отмечены n праздничных площадок, и на каждой площадке будет устроен каток.

Каждая площадка задаётся двумя числами x_i и y_i — номером снежной улицы и номером ледяного проспекта, на пересечении которых она расположена.

Организаторы считают две площадки связанными напрямую, если они находятся либо на одной и той же снежной улице, либо на одном и том же ледяном проспекте.

Кроме того, связность определяется транзитивно: если площадка A напрямую связана с B, а B напрямую связана с C, то A и C также считаются находящимися в одной группе площадок.

Чтобы фестиваль выглядел единым, нужно провести несколько новых праздничных переходов между площадками так, чтобы все площадки оказались в одной общей группе связности.

За один переход можно напрямую соединить любые две площадки.

Определите минимальное количество переходов, которое необходимо построить.

Входные данные

В первой строке содержится одно целое число n (1 <= n <= 100) — количество площадок.

В следующих n строках содержатся по два целых числа x_i, y_i (1 <= x_i, y_i <= 1000) — координаты i-й площадки.

Выходные данные

Выведите одно целое число — минимальное количество переходов, необходимых для того, чтобы все площадки стали связаны.

Ограничения

  • 1 <= n <= 100
  • 1 <= x_i, y_i <= 1000

Примеры

Пример 1

Входные данные

2
1 1
2 2

Выходные данные

1
Пример 2

Входные данные

5
1 1
2 1
1 2
2 2
3 3

Выходные данные

1
Пример 3

Входные данные text


Комментарии

Еще нет ни одного комментария.