Logo
(追記) (追記ここまで)

26821번 - Kodowanie 다국어

시간 제한메모리 제한제출정답맞힌 사람정답 비율
7 초 1024 MB0000.000%

문제

Bajtosia i Bitek często wymieniają między sobą liściki podczas lekcji, ale nie chcą, aby nauczycielka informatyki przeczytała ich wiadomości, dlatego zdecydowali się na zastosowanie kodu. Bitek zaproponował, że jako że chodzą do klasy informatycznej, to mogą każdą literę kodować jakimś ciągiem zer i jedynek.

Na przykład możemy mieć następujące kodowanie czterech pierwszych liter:

Litera Kodowanie litery
a 01
b 00
c 101
d 1

Wtedy całą zakodowaną wiadomością będzie napis, który powstanie poprzez sklejenie zakodowanych liter. Na przykład, zgodnie z powyższą tabelą, napis baca zostanie zakodowany jako 000110101.

Bajtosia zauważyła jednak, że jeżeli źle wybierzemy kodowanie liter, może się okazać, że nie zawsze będzie możliwe jednoznaczne odkodowanie oryginalnego słowa na podstawie jego zakodowanej postaci. Na przykład: kodowi 101 może odpowiadać napis c, ale także da.

Napisz program, który wczyta propozycję kodowania poszczególnych liter, wyznaczy najkrótszy niejednoznaczny kod (lub stwierdzi, że kodowanie jest zawsze jednoznaczne) i wypisze wynik na standardowe wyjście.

입력

W pierwszym wierszu wejścia znajduje się jedna liczba naturalna N (1 ≤ N ≤ 26) określająca liczbę liter alfabetu użytych do kodowania. W kolejnych N wierszach znajdują się opisy kodowań poszczególnych liter, po jednym w wierszu. Opis każdego kodowania składa się z pojedynczego znaku (mała litera alfabetu angielskiego) C, pojedynczego odstępu oraz niepustego ciągu zero-jedynkowego S. Taki opis oznacza, że kodem litery C jest S.

Łączna długość kodowań wszystkich liter nie przekracza 1 000.

출력

Jeśli kodowanie jest jednoznaczne, wypisz słowo NIE w pojedynczym wierszu.

Jeżeli natomiast kodowanie nie jest jednoznaczne, w pierwszym (jedynym) wierszu wyjścia należy wypisać jedną liczbę całkowitą – minimalną długość R (w bitach) niejednoznacznego zapisu bitowego X. W drugim wierszu należy wypisać ten zapis bitowy X. W trzecim i czwartym wierszu należy wypisać dwa różne przykłady słów, które uzyskują zapis bitowy X.

제한

예제 입력 1

4
a 01
b 00
c 101
d 1

예제 출력 1

3
101
c
da

예제 입력 2

5
a 10110
b 0001
c 101
d 1000
e 01

예제 출력 2

8
10110101
ac
cce

예제 입력 3

3
x 100
y 10
z 00

예제 출력 3

NIE

힌트

출처

Camp > JPOI Summer Training Camp > JPOI Summer Training Camp 2020 4-1번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /