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

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

월간 철도 정기권

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

요약
기차 간선과 버스 간선이 있는 그래프에서, 기차만 임의로 쓰고 버스는 최대 한 번만 써서 모든 도시에 갈 수 있는 출발 도시의 수를 센다.
난이도

보통10점 중 6점

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

문제

비트랜디아에는 NN개의 도시가 있습니다. 일부 도시 쌍은 기차 또는 버스로 연결되어 있으며, 모든 연결은 양방향입니다.

마리요나스는 비트랜디아에서 한 달 동안 휴가를 보낼 계획입니다. 그는 기차를 최대한 많이 이용하고 싶어서, 한 달 동안 기차를 무제한으로 탈 수 있는 월간 철도 정기권을 구입했습니다. 다만 이 정기권으로 버스 요금은 낼 수 없습니다.

마리요나스는 한 도시에만 머무를 예정이지만, 아직 어느 도시에 머무를지 정하지 못했습니다. 머무는 동안 여러 도시를 여행할 계획이므로, 그는 머무는 도시에서 다른 모든 도시로 저렴하게 이동할 수 있기를 바랍니다.

마리요나스에게 한 도시에서 다른 도시로의 이동이 '저렴하다'는 것은, 기차를 몇 번이든 타고 버스는 최대 한 번만 타는 경로가 존재한다는 뜻입니다.

마리요나스가 머무를 수 있는 도시, 즉 그 도시에서 다른 모든 도시로 저렴하게 이동할 수 있는 도시의 개수를 구하세요.

입력

첫째 줄에 도시의 수 NN과 두 도시를 잇는 연결의 수 MM이 주어집니다. 도시는 11번부터 NN번까지 번호가 매겨져 있습니다.

다음 MM개의 줄에는 각각 두 정수 aia_i, bib_i와 문자 TiT_i가 주어집니다. ii번째 연결은 도시 aia_i와 bib_i를 잇습니다. 문자 TiT_i는 교통수단을 나타내며, TiT_i가 T이면 기차 연결이고 A이면 버스 연결입니다.

출력

마리요나스가 머무를 수 있는 도시의 개수를 정수 하나로 출력합니다.

제한

  • 1≤N≤500 0001 \le N \le 500\,000
  • 0≤M≤500 0000 \le M \le 500\,000

예제2

  1. 예제 1

    입력
    5 5
    3 1 A
    3 5 A
    4 5 T
    2 3 T
    2 1 A
    
    예상 출력
    2
    
  2. 예제 2

    입력
    7 8
    7 5 A
    3 7 A
    3 1 A
    3 4 T
    3 5 A
    7 1 A
    5 6 T
    2 7 T
    
    예상 출력
    4