만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

Rikka와 게임 이론

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

요약
무방향 그래프의 각 정점에 음이 아닌 정수를 배정할 때, 정점의 값이 이웃 정점 값들의 mex와 같은 배정의 개수를 구합니다.
난이도

어려움10점 중 8점

유형
비트 연산, 동적 계획법, 조합론
정답자
아직 제출이 없습니다

문제

게임 이론은 컴퓨터 과학에서 흥미로운 주제이다.

SG 함수는 게임 이론의 중요한 개념이다. 정점 집합 V1V_1과 간선 집합 E1E_1을 가진 방향 비순환 그래프 G1G_1이 주어지면, 각 정점 u∈V1u \in V_1의 SG 함수 sg(u)sg(u)는 다음과 같이 정의된다:

sg(u)=mex({sg(v)∣(u,v)∈E1})sg(u) = \text{mex}(\{sg(v) \mid (u,v) \in E_1\})

여기서 음이 아닌 정수의 집합 SS에 대해 mex(S)\text{mex}(S)는 SS에 속하지 않는 가장 작은 음이 아닌 정수이다.

Rikka는 SG 함수를 무방향 그래프로 일반화하려고 한다. 정점 집합 VV와 간선 집합 EE를 가진 무방향 그래프 GG가 주어질 때, VV 위의 함수 ff가 다음 조건을 모두 만족하면 ff를 GG의 유효한 SG 함수라고 한다:

  • 각 정점 u∈Vu \in V에 대해 f(u)f(u)는 음이 아닌 정수이다.
  • 각 정점 u∈Vu \in V에 대해 f(u)=mex({f(v)∣(u,v)∈E})f(u) = \text{mex}(\{f(v) \mid (u,v) \in E\})이다.

그래프에는 유효한 SG 함수가 여러 개 있을 수 있다. Rikka는 이 함수들이 서로 어떤 관계가 있는지 알고 싶어 한다. 첫 단계로, 주어진 무방향 그래프 GG의 유효한 SG 함수의 개수를 구하라.

입력

첫 줄에 정점 수 nn과 간선 수 mm이 주어진다 (1≤n≤171 \leq n \leq 17, 0≤m≤n(n−1)20 \leq m \leq \frac{n(n-1)}{2}).

이어서 mm개의 줄에 각각 간선의 두 정점 uiu_i, viv_i (1≤ui,vi≤n1 \leq u_i, v_i \leq n)가 주어진다. 자기 루프와 중복 간선은 없다.

출력

유효한 SG 함수의 개수를 한 줄에 출력한다.

힌트

간단하게 나타내기 위해 함수 ff를 리스트 [f(1),…,f(n)][f(1), \dots, f(n)]으로 쓴다.

예시 입력에 대해 유효한 SG 함수는 6개이다: [0,1,0,1,0][0,1,0,1,0], [0,1,2,0,1][0,1,2,0,1], [0,2,1,0,1][0,2,1,0,1], [1,0,1,0,1][1,0,1,0,1], [1,0,1,2,0][1,0,1,2,0], [1,0,2,1,0][1,0,2,1,0].

예제1

  1. 예제 1

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