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

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

관광 버스 투어

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

요약
일방통행과 양방향 도로가 섞인 그래프에서 모든 도로를 정확히 한 번씩 지나 시작한 교차로로 돌아오는 닫힌 경로가 있는지 판별한다.
난이도

보통10점 중 7점

유형
그래프, 유니온 파인드, DFS, 구현
정답자
아직 제출이 없습니다

문제

시에서 관광객이 도시의 구석구석을 볼 수 있도록 버스로 관광 투어를 운행하려고 한다. 투어는 도시의 모든 도로를 정확히 한 번씩 지나도록 계획해야 하며, 버스는 같은 교차로에서 출발해 같은 교차로로 돌아와야 한다. 도로는 일방통행이거나 양방향 통행이며, 투어 버스는 이 교통 규칙을 지켜야 한다. 이러한 조건을 만족하는 관광 투어를 만들 수 있는지 판별하여라.

입력

첫째 줄에 시나리오의 수를 나타내는 양의 정수 nn이 주어진다.

각 시나리오의 첫째 줄에는 교차로의 수 mm과 도로의 수 ss가 주어진다 (1≤m≤2001 \le m \le 200, 1≤s≤10001 \le s \le 1000).

이어지는 ss개의 줄에는 각 도로가 세 정수 xix_i, yiy_i, did_i로 주어진다 (1≤xi,yi≤m1 \le x_i, y_i \le m, 0≤di≤10 \le d_i \le 1). xix_i와 yiy_i는 그 도로가 잇는 두 교차로이다. di=1d_i = 1이면 그 도로는 xix_i에서 yiy_i로 향하는 일방통행 도로이고, di=0d_i = 0이면 양방향 도로이다. 어떤 한 교차로에서 다른 모든 교차로에 도달할 수 있다고 가정해도 좋다.

출력

각 시나리오마다 관광 투어를 만들 수 있으면 possible을, 그렇지 않으면 impossible을 한 줄에 출력한다.

예제3

  1. 예제 1

    입력
    4
    5 8
    2 1 0
    1 3 0
    4 1 1
    1 5 0
    5 4 1
    3 4 0
    4 2 1
    2 2 0
    4 4
    1 2 1
    2 3 0
    3 4 0
    1 4 1
    3 3
    1 2 0
    2 3 0
    3 2 0
    3 4
    1 2 0
    2 3 1
    1 2 0
    3 2 0
    
    예상 출력
    possible
    impossible
    impossible
    possible
    
  2. 예제 2

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

    입력
    1
    2 1
    1 2 0
    
    예상 출력
    impossible