실행되지 않는 함수

면접 대비

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

요약
세 종류의 명령어로 이루어진 제어 흐름 그래프에서 첫 함수로부터 도달할 수 없는 함수의 개수를 구하는 문제입니다.
난이도

쉬움10점 중 3점

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

문제

어떤 프로그래밍 언어의 소스 코드를 분석할 때, 절대로 실행되지 않는 함수가 있는지 확인하면 코드 오류를 찾는 데 도움이 될 수 있다.

이 문제에서는 다음 세 가지 형태의 함수로만 이루어진 간단한 프로그래밍 언어를 다룬다.

  • RADI: 다음 함수로 실행을 이어 간다.
  • IDI a: a번째 함수로 이동한다.
  • IDI a ILI b: a번째 함수 또는 b번째 함수로 이동한다.

프로그램은 항상 첫 번째 함수에서 시작한다.

실행되지 않는 함수의 개수를 구하는 프로그램을 작성하라.

입력

입력의 각 줄에는 함수 하나가 주어진다. i번째 줄에는 i번째 함수가 주어진다.

마지막 함수 다음 줄에는 마침표 .가 주어진다. 이 줄은 프로그램의 일부가 아니며 함수로 세지 않는다.

함수의 개수는 10,000 이하이다.

출력

첫째 줄에 실행되지 않는 함수의 개수를 출력한다.

예제3

  1. 예제 1

    입력
    RADI
    IDI 4 ILI 6
    RADI
    IDI 3
    RADI
    IDI 8
    RADI
    RADI
    .
    
    예상 출력
    2
    
  2. 예제 2

    입력
    IDI 1
    RADI
    .
    
    예상 출력
    1
    
  3. 예제 3

    입력
    RADI
    IDI 4 ILI 6
    RADI
    IDI 3
    RADI
    IDI 8
    RADI
    RADI
    . 
    
    예상 출력
    2