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

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

역전 그래프

시간 제한1초메모리 제한512 MB

요약
100개 이하 정점을 가진 순열의 역 그래프가 주어집니다. 독립 집합이면서 집합 밖 모든 정점을 덮는 집합의 개수를 구합니다. 답은 10^18 이하입니다.
난이도

어려움10점 중 8점

유형
그래프, 완전 탐색, 백트래킹, 비트 연산
정답자
아직 제출이 없습니다

문제

수열 p1,p2,…,pnp_1, p_2, \ldots, p_n이 1,2,…,n1, 2, \ldots, n의 순열이라는 것은 [1,n][1, n] 범위의 모든 수가 정확히 한 번씩 나타나는 것을 말한다. 11 이상 nn 이하인 정수 쌍 (i,j)(i, j)가 i<ji < j이고 pi>pjp_i > p_j를 만족하면 이 쌍을 역전이라고 부른다.

역전 그래프란 정점이 정확히 nn개이고, 두 정점 (i,j)(i, j) 사이에 간선이 있는 것과 이 쌍이 역전인 것이 동치인 그래프를 말한다.

그래프의 정점 집합 ss가 독립 집합이라는 것은 ss에 속한 어떤 두 정점 사이에도 간선이 없는 것을 말한다. 그래프의 정점 집합 tt가 지배 집합이라는 것은 tt에 속하지 않는 모든 정점이 tt에 속한 정점 중 적어도 하나와 간선으로 연결되어 있는 것을 말한다. 그래프의 정점 집합 gg가 독립 지배 집합이라는 것은 gg가 지배 집합이면서 동시에 독립 집합인 것을 말한다.

순열 1,2,…,n1, 2, \ldots, n에 대한 역전 그래프가 주어진다. 이 그래프의 간선은 두 정점 쌍 (ai,bi)(a_i, b_i)의 형태로 주어진다. 그래프의 독립 지배 집합의 개수를 구하여라.

답이 101810^{18}을 넘지 않음이 보장된다.

입력

첫 번째 줄에는 두 정수 nn과 mm이 주어진다. (1≤n≤1001 \le n \le 100, 0≤m≤n×(n−1)/20 \le m \le n \times (n-1)/2) nn은 그래프의 정점 수, mm은 그래프의 간선 수이다.

다음 mm개의 줄에는 두 정수 uiu_i와 viv_i가 주어진다. (1≤ui,vi≤n1 \le u_i, v_i \le n) 이는 uiu_i와 viv_i 사이에 간선이 있음을 뜻한다.

이 그래프를 만드는 순열이 존재함이 보장된다.

출력

그래프의 독립 지배 정점 집합의 개수를 출력한다.

답이 101810^{18}을 넘지 않음이 보장된다.

힌트

첫 번째 예시는 순열 [1,4,2,3][1, 4, 2, 3]에 대한 그래프이다. 두 개의 집합 (1,3,4)(1, 3, 4) 또는 (1,2)(1, 2)를 선택할 수 있다.

두 번째 예시는 순열 [3,5,4,1,2][3, 5, 4, 1, 2]에 대한 그래프이다. 세 개의 집합 (1,2)(1, 2), (1,3)(1, 3), (4,5)(4, 5)를 선택할 수 있다.

세 번째 예시는 순열 [2,4,1,5,7,6,3][2, 4, 1, 5, 7, 6, 3]에 대한 그래프이다.

네 번째 예시는 순열 [5,2,1,4,3][5, 2, 1, 4, 3]에 대한 그래프이다.

예제4

  1. 예제 1

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

    입력
    5 7
    2 5
    1 5
    3 5
    2 3
    4 1
    4 3
    4 2
    
    예상 출력
    3
    
  3. 예제 3

    입력
    7 7
    5 6
    2 3
    6 7
    2 7
    3 1
    7 5
    7 4
    
    예상 출력
    6
    
  4. 예제 4

    입력
    5 6
    1 3
    4 5
    1 4
    2 3
    1 2
    1 5
    
    예상 출력
    5