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

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

선인장인지 판정하기

면접 대비

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

요약
연결된 무향 그래프의 모든 정점이 최대 하나의 단순 사이클에만 속하는지 판정합니다.
난이도

보통10점 중 5점

유형
DFS, 그래프
정답자
아직 제출이 없습니다

문제

선인장은 무방향 그래프의 한 종류로, 어느 정점을 골라도 그 정점을 지나 자기 자신으로 돌아오는 단순 사이클이 하나 이하인 그래프다. 단순 사이클은 같은 정점을 두 번 지나지 않고 출발한 정점으로 돌아오는 경로를 뜻한다.

두 사이클이 정점 하나를 공유하면 그 정점을 지나는 단순 사이클이 둘이 되므로 선인장이 아니다. 삼각형 두 개가 정점 하나만 맞대고 있는 그래프도 조건을 만족하지 못한다.

연결 그래프가 주어진다. 이 그래프가 선인장인지 판정하라.

입력

첫째 줄에 그래프의 정점 개수 NN과 간선 개수 MM이 공백으로 구분되어 주어진다. (1≤N,M≤100 0001 \le N, M \le 100\,000)

다음 MM개 줄에는 간선이 잇는 두 정점의 번호 xx와 yy가 공백으로 구분되어 주어진다. (1≤x,y≤N1 \le x, y \le N, x≠yx \ne y)

같은 간선이 두 번 주어지지 않으며, 어떤 두 정점 사이에도 경로가 존재한다.

출력

주어진 그래프가 선인장이면 Cactus를, 아니면 Not cactus를 출력한다.

예제8

  1. 예제 1

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

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

    입력
    2 1
    1 2
    
    예상 출력
    Cactus
    
  4. 예제 4

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

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

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

    입력
    4 6
    1 2
    1 3
    1 4
    2 3
    2 4
    3 4
    
    예상 출력
    Not cactus
    
  8. 예제 8

    입력
    4 5
    1 2
    2 3
    3 4
    4 1
    1 3
    
    예상 출력
    Not cactus