Meni - Školsko (2013)
ŠKOLSKO NATJECANJE 2013. / Srednja škola, II. podskupina (3. i 4. razred) - 2. zadatak
Izbornik u nekoj aplikaciji se sastoji od N opcija, svaka opisana pomoću jedne rečenice tj. niza od jedne ili više riječi. Svakoj opciji u izborniku se pridružuje kratica – jedno od slova u opisu te opcije, prema sljedećim pravilima:
- Opcijama se kratice dodjeljuju redom od prve prema zadnjoj.
- Za pojedinu opciju, najprije se gledaju sva prva slova svih riječi u opisu redom. Prvo po redu prvo slovo koje već ne služi kao kratica nekoj opciji uzima se kao kratica trenutne opcije.
- Ako su sva prva slova zauzeta onda se gledaju druga slova po redu i prvo slobodno se uzima za kraticu, nakon toga treća slova po redu, i tako dalje. Naravno, kada se, na primjer, razmatraju treća po redu slova onda se preskaču riječi koje imaju manje od tri slova.
- Ako su sva slova već zauzeta onda ta opcija nema kraticu.
- Prilikom određivanja kratice ne pravimo razliku između velikih i malih slova.
Napišite program koji će, na temelju opisa opcija, odrediti kratice za dani izbornik.
Ulazni podaci
U prvom redu se nalazi prirodni broj N (1 ≤ N ≤ 30) – broj opcija u izborniku.
U svakom od sljedećih N redova nalazi se niz od najviše 5 riječi odvojenih jednim znakom '.' (točka) gdje se svaka riječ sastoji od najviše 10 malih i velikih slova engleske abecede.
Izlazni podaci
U svaki od N redova potrebno je ispisati odgovarajuću riječ s označenom kraticom. Kratica se označava tako da se odgovarajuće slovo (odabrano prema postupku opisanom gore) okruži uglatim zagradama (znakovima '[' i ']').
Mala i velika slova trebaju odgovarati riječima na ulazu.
Ako se nekoj rečenici ne može pridružiti kratica tada je treba ispisati neizmijenjenu.
Primjeri test podataka
Ulaz
2
File
Open
Izlaz
[F]ile
[O]pen
Ulaz
6
New.Window
New.File
Open.Location
Open
Format
for
Izlaz
[N]ew.Window
New.[F]ile
[O]pen.Location
O[p]en
Fo[r]mat
for
Comments