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

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

László Babai

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

요약
각 테스트마다 꼭짓점 3개짜리 단순 그래프 두 개가 간선 목록으로 주어질 때 두 그래프가 동형인지 판정한다.
난이도

쉬움10점 중 2점

유형
그래프, 완전 탐색, 구현
정답자
아직 제출이 없습니다

문제

László Babai는 헝가리의 컴퓨터과학자이자 수학자다. 괴델 상을 받았고, 계산 이론과 알고리즘, 조합론, 군론을 연구한다. 그는 그래프 동형 판정(Graph Isomorphism)을 exp⁡((log⁡n)O(1))\exp((\log n)^{O(1)}) 시간에 푸는 알고리즘을 내놓았다. 그전까지 알려진 가장 좋은 시간은 exp⁡(O(nlog⁡n))\exp(O(\sqrt{n \log n}))이다.

그래프 동형 판정은 다음 문제다. 무방향 그래프 A=(VA,EA)A = (V_A, E_A)와 B=(VB,EB)B = (V_B, E_B)가 주어지고, VA={a1,a2,…,anA}V_A = \{a_1, a_2, \ldots, a_{n_A}\}, VB={b1,b2,…,bnB}V_B = \{b_1, b_2, \ldots, b_{n_B}\}다. 두 조건이 모두 성립할 때, 그리고 그때만 AA와 BB는 동형이다.

  1. AA와 BB의 정점 수가 같고 간선 수도 같다.
  2. {u,v}∈EA\{u, v\} \in E_A일 때, 그리고 그때만 {f(u),f(v)}∈EB\{f(u), f(v)\} \in E_B인 전단사 함수 f:VA→VBf : V_A \to V_B가 있다.

즉 AA의 정점에 이름을 다시 붙여 BB를 만들 수 있다.

그래프 동형 판정이 P에 속하는지는 아직 모르고, NP-완전인지도 모른다. 그 도전의 첫걸음으로, 정점이 3개인 무방향 단순 그래프 두 개가 동형인지 판정하자.

입력

첫 줄에 테스트 케이스의 수 TT (1≤T≤1001 \le T \le 100)가 주어진다.

각 테스트 케이스는 그래프 두 개를 같은 형식으로 차례로 준다. 한 그래프의 설명은 1번부터 3번까지 번호가 붙은 정점 3개로 이루어진 무방향 단순 그래프의 간선 수 mm (0≤m≤30 \le m \le 3)으로 시작한다. 이어서 mm개의 줄에 서로 다른 정수 uu와 vv (u≠vu \ne v, u,v∈{1,2,3}u, v \in \{1, 2, 3\})가 주어지고, 이는 정점 uu와 정점 vv를 잇는 간선이 있다는 뜻이다. 어떤 두 정점을 잇는 간선은 많아도 하나다.

출력

각 테스트 케이스마다 두 그래프가 동형이면 yes를, 아니면 no를 한 줄에 출력한다.

예제5

  1. 예제 1

    입력
    3
    3
    1 2
    2 3
    3 1
    3
    1 3
    2 1
    3 2
    2
    1 2
    1 3
    0
    1
    2 3
    1
    1 2
    
    예상 출력
    yes
    no
    yes
    
  2. 예제 2

    입력
    1
    0
    0
    
    예상 출력
    yes
    
  3. 예제 3

    입력
    1
    0
    1
    2 3
    
    예상 출력
    no
    
  4. 예제 4

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

    입력
    16
    0
    0
    0
    1
    1 2
    0
    2
    1 2
    1 3
    0
    3
    1 2
    1 3
    2 3
    1
    1 2
    0
    1
    1 2
    1
    1 2
    1
    1 2
    2
    1 2
    1 3
    1
    1 2
    3
    1 2
    1 3
    2 3
    2
    1 2
    1 3
    0
    2
    1 2
    1 3
    1
    1 2
    2
    1 2
    1 3
    2
    1 2
    1 3
    2
    1 2
    1 3
    3
    1 2
    1 3
    2 3
    3
    1 2
    1 3
    2 3
    0
    3
    1 2
    1 3
    2 3
    1
    1 2
    3
    1 2
    1 3
    2 3
    2
    1 2
    1 3
    3
    1 2
    1 3
    2 3
    3
    1 2
    1 3
    2 3
    
    예상 출력
    yes
    no
    no
    no
    no
    yes
    no
    no
    no
    no
    yes
    no
    no
    no
    no
    yes