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

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

레드 블루 스패닝 트리

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

요약
빨간 간선과 파란 간선으로 이루어진 연결 그래프에서 파란 간선을 정확히 k개 포함하는 신장 트리가 존재하는지 판별한다.
난이도

보통10점 중 7점

유형
유니온 파인드, 그래프, 그리디, 최소 신장 트리
정답자
아직 제출이 없습니다

문제

무방향 · 무가중치 연결 그래프가 주어진다. 각 간선은 빨간색(R) 또는 파란색(B)으로 칠해져 있다. 이 그래프의 스패닝 트리 중에서 파란색 간선이 정확히 kk개인 것이 존재하는지 판별하는 프로그램을 작성하시오.

입력

입력은 여러 개의 테스트 케이스로 이루어진다.

각 테스트 케이스의 첫 줄에는 세 정수 nn, mm, kk가 주어진다. nn은 그래프의 정점 수(2≤n≤1,0002 \le n \le 1{,}000), mm은 간선 수, kk는 스패닝 트리에 포함되어야 하는 파란색 간선의 수(0≤k<n0 \le k < n)이다.

이어지는 mm개의 줄에는 각 간선의 정보가 세 값 cc, ff, tt로 주어진다. cc는 간선의 색으로, 빨간색이면 R, 파란색이면 B이다. ff와 tt는 간선이 잇는 두 정점의 번호이다(1≤f,t≤n1 \le f, t \le n, f≠tf \ne t). 두 정점을 잇는 간선은 최대 한 개이다.

입력의 마지막 줄에는 0 0 0이 주어지며, 이 줄은 처리하지 않는다.

출력

각 테스트 케이스마다 파란색 간선이 정확히 kk개인 스패닝 트리를 만들 수 있으면 1을, 만들 수 없으면 0을 한 줄에 출력한다.

예제1

  1. 예제 1

    입력
    3 3 2
    B 1 2
    B 2 3
    R 3 1
    2 1 1
    R 1 2
    0 0 0
    
    예상 출력
    1
    0