About ImmediateDecodability ¶
기호의 코드가 다른 기호의 앞부분에 존재하지 않으면, 기호의 집합을 암호화하는 것은 직접 해독 가능하다. 모든 코드는 이진 코드이고, 한 코드 집합에서는 동일한 코드가 존재하지 않으며, 각 코드는 적어도 1개 이상의 비트와 10개 이하의 코드를 갖는다. 각 집합은 적어도 2개 이상, 8개 이하의 코드를 갖는다.
기호 {A,B,C,D}를 갖는 알파벳이 있다고 가정하자.
다음 코드는 직접 해독 가능성이 존재한다.
A:01 B:10 C:0010 D:0000그러나 다음 코드는 그렇지 않다.
A:01 B:10 C:010 D:0000 (A가 C의 앞부분에 존재한다)
Input ¶
파일에서 연속된 데이터를 그룹 형태로 입력을 받아들인다. 그룹의 각 데이터는 기호용 이진 코드를 나타내는 0과 1의 집합으로 구성된다. 각 그룹은 단일 숫자 9로 구분된다. 구분 숫자인 9는 그룹에 속하지 않는다.
각 그룹은 다른 그룹과 따로 처리해야 한다. 한 그룹의 코드가 다른 그룹의 코드와는 연관해서 처리하지 않는다. 즉, 각 그룹은 따로따로 처리해야 한다.
Output ¶
각 그룹에서 프로그램은 그룹의 코드들이 직접 해독 가능성이 있는지를 결정하고, 주어진 그룹 번호와 그룹의 직접 해독 가능성 여부를 한 줄씩 출력한다.
입력 예제는 위의 예로 설명되었다.
Sample Input ¶
~cpp 01 10 0010 0000 9 01 10 010 0000 9
Sample Output ¶
~cpp Set 1 is immediately decodable Set 2 is not immediately decodable