아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Починка цепочки

시간 제한2초메모리 제한1024 MB

요약
고리들의 초기 연결 상태가 주어질 때, 1-2-...-n 사슬만 남기기 위해 필요한 최소 열기/다시 닫기 동작 수를 구한다.
난이도

보통10점 중 7점

유형
그래프, 동적 계획법, 비트 연산, 완전 탐색
정답자
아직 제출이 없습니다

문제

У Совуньи была цепочка, состоявшая из nn звеньев, пронумерованных от 11 до nn. Но пока цепочка валялась в комоде, она вся запуталась. Совунья хочет исправить ситуацию.

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

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

В конце все звенья должны быть запаянными.

Совунья хочет, чтобы звено номер 11 было сцепленно со звеном номер 22, 22 с 33, \dots, n−1n - 1 с nn. Иными словами, чтобы были сцеплены звенья с номерами ii и i+1i + 1 для всех i∈\[1,n−1]i \in \[1, n - 1]. А никакие другие пары звеньев не должны быть сцеплены.

Помогите Пину определить минимальное количество действий, которые ему придется выполнить, чтобы починить цепочку.

입력

В первой строке даны два целых числа nn и mm --- количество звеньев и количество пар изначально сцепленных звеньев (1≤n≤401 \le n \le 40, 0≤m≤n⋅(n−1)20 \le m \le \frac{n \cdot (n - 1)}{2}).

В следующих mm строках дано по два целых числа a_ia\_i и b_ib\_i --- номера сцепленных звеньев (1≤a_i,b_i≤n1 \le a\_i, b\_i \le n; a_i≠b_ia\_i \neq b\_i).

Гарантируется, что во входных данных каждая неупорядоченная пара звеньев встречается максимум один раз.

출력

Выведите одно целое число --- минимальное количество действий, которые должен сделать Пин, чтобы починить цепочку.

힌트

В первом примере Пин может расковать звено номер 33. Тогда оно отсоединится от обоих оставшихся звеньев. А затем, запаять звено номер 33 обратно, сцепив его только со звеном номер 22.

Во втором примере Пин может расковать звено номер 22, затем запаять его обратно соединив со звеньями 11 и 33. А затем, расковать звено номер 44 и запаять обратно, соединив со звеньями 33 и 55.

예제3

  1. 예제 1

    입력
    3 3
    1 2
    2 3
    3 1
    
    예상 출력
    2
    
  2. 예제 2

    입력
    5 0
    
    예상 출력
    4
    
  3. 예제 3

    입력
    1 0
    
    예상 출력
    0