Codificación aritmética
Considera un alfabeto
donde cada letra
tiene asociado una probabilidad
.
Por ejemplo,
con
A cada palabra (secuencia de letras)
del alfabeto
le asignamos un intervalo
según las reglas siguientes.
El intervalo de la palabra vacía
es
El intervalo de la palabra
,
donde
es una palabra con
y
es la última letra de
,
es
Por ejemplo, a las palabras
,
,
,
,
les corresponden los siguientes intervalos:
Cuantas más letras
añadimos, más pequeño es el intervalo resultante.
Entrada
Una línea con el número
de letras del alfabeto. A continuación,
líneas con las letras
del alfabeto y las probabilidades
de cada letra. Todas las probabilidades cumplen
y se te garantiza que
.
Por último, un número indeterminado de líneas con los casos de
prueba. Cada caso de pruebas es un número natural
y un número real
entre
y
.
Salida
Para cada caso, escribe la única palabra
de
letras cuyo intervalo
contiene el real
.
Se te garantiza que las entradas serán tales que nunca tendrás problemas
de precisión usando double.
Autoría: Omer Giménez
Generación: 2026-01-25T10:32:19.709Z
© Jutge.org, 2006–2026.
https://jutge.org