유향 다중 그래프에서 한 비트 패킷이 보내기와 받기 단계를 번갈아 거칠 때, 어떤 버퍼의 크기가 무한히 커지게 하는 시작 스위치의 수를 구한다.
보통7그래프DFS시뮬레이션구현아직 제출이 없습니다시간 제한2초메모리 제한512 MB당신은 카페바자르의 엔지니어이고, 네트워크와 그 동작을 분석하는 일을 맡고 있다. 동료들이 스위치 n개와 스위치 쌍을 잇는 방향 링크 m개로 이루어진 네트워크를 설계했다. 각 스위치에는 데이터를 저장하는 버퍼가 하나 있고, 전송 모드와 수신 모드 두 가지 모드가 있다. 전송 모드인 스위치는 버퍼에 저장된 데이터를 나가는 링크 전부로 동시에 내보내고, 마지막에 버퍼를 비운다. 수신 모드인 스위치는 들어오는 링크에 실린 데이터를 모두 이어 붙여 버퍼에 저장한다. 따라서 이때 버퍼에 저장된 데이터의 길이는 들어오는 링크에 실린 데이터 길이의 합과 같다.
시각 t=0에 모든 스위치는 전송 모드이고 버퍼가 비어 있다. 단, 스위치 i의 버퍼에는 1비트짜리 데이터가 들어 있다. 모든 스위치는 1초마다 모드를 바꾼다. 즉 t=1에는 전부 수신 모드가 되고, t=2에는 전부 전송 모드가 되며, 이런 식으로 이어진다. t가 무한히 커질 때 스위치의 버퍼에 저장되는 데이터 길이의 최댓값이 유계가 아니면 스위치 i를 폭발하는 스위치라고 한다.
네트워크에서 폭발하는 스위치가 몇 개인지 구하는 프로그램을 작성하시오.
입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스의 첫째 줄에는 스위치의 개수 n과 방향 링크의 개수 m이 공백으로 구분되어 주어진다 (1≤n,m≤50000). 다음 m개 줄에는 각각 두 정수 u, v가 공백으로 구분되어 주어지며, 스위치 u에서 스위치 v로 가는 방향 링크를 뜻한다 (1≤u,v≤n, u=v). 같은 (u,v) 쌍이 여러 번 주어지기도 하며, 그때는 링크가 그 개수만큼 따로 있는 것으로 센다.
입력의 마지막 줄에는 0 0이 주어지며, 이 줄은 처리하지 않는다.
각 테스트 케이스마다 폭발하는 스위치의 개수를 한 줄에 출력한다.