| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 4 초 | 1024 MB | 6 | 5 | 2 | 66.667% |
Ett enkelt översättningsprogram används för att översätta texter mellan två olika språk, kalla dem $A$ och $B$. Programmet översätter texten ord för ord enligt en ordlista. När ett ord ska översättas letar programmet upp den första förekomsten av ordet i ordlistan och översätter enligt den.
Om vi med ett sådant program översätter en text från $A$ till $B$ och sedan tillbaka till $A$ är det inte säkert att vi får tillbaka precis samma text. I den här uppgiften ska du upprepa denna procedur tills texten inte ändrar sig längre. Närmare bestämt:
Givet en ordlista och en text, skriv ut texten som skapas av ovanstående algoritm.
På första raden står ett heltal $N$ ($1 \leq N \leq 50\,000$), antalet ord i ordlistan.
Sedan följer $N$ rader med två ord (bestående av endast tecken a-z, inga mellanslag) på varje rad som beskriver hur ord ska översättas. Ett ord är maximalt 20 tecken långt. Det första ordet är i språket $A$ och det andra i språket $B$.
Sedan följer ett heltal $1 \leq M \leq 100\,000$, antalet ord i textsträngen som ska översättas. Sista raden innehåller textsträngen som ska översättas bestående av ord separerade av mellanslag. Det är garanterat att alla ord i texten finns i ordlistan.
Skriv ut en enda rad, texten som ges av algoritmen när den är färdig.
8 programmering programming ar is valdigt very kul fun skoj fun mycket very skoj amusing roligt amusing 4 programmering ar mycket roligt
programmering ar valdigt kul
Algoritmen kommer att översätta meningen i följande steg:
programmering ar valdigt roligtprogrammering ar valdigt skojprogrammering ar valdigt kulOlympiad > Swedish Olympiad in Informatics > 2014 > Final B번