Problem G
Hnappasetningaskipti
Languages
en
is
Á sínum tíma kepptu Arnar, Bjarki og Unnar saman í keppnisforritun. Á háskólastigi er einnig keppt í þriggja manna liðum eins og á framhaldsskólastigi, en hins vegar fær hvert lið aðeins eina tölvu. Því skiptir miklu máli að nota tímann við tölvuna vel meðan hinir tveir liðsfélagarnir reyna að leysa önnur dæmi og undirbúa sig undir það að forrita hratt og rétt þegar að þeim kemur.
Til þess að nýta tímann sem best ákvað Bjarki að læra á dvorak hnappasetninguna, því hann telur að hún geri honum kleift að skrifa hraðar. Arnari fannst þetta góð hugmynd, og bjó því til sína eigin hnappasetningu sem hann kallaði bjarki, og notar hana. Unnar heldur sig hins vegar enn við qwerty, honum finnst þetta ekki fyrirhafnarinnar virði. En þetta veldur nú vandræðum. Þegar þeir skiptast á að skrifa við tölvuna eru þeir stundum búnir að skrifa heilan helling inn í tölvuna áður en þeir fatta að hún er stillt á vitlausa hnappasetningu! Því þarf nú að búa til forrit sem getur tekið það sem búið er að skrifa og breytt því í það sem þeir ætluðu að skrifa.
Hér fylgir tafla sem gefur hvað hver hnappur samsvarar í ólíkum hnappasetningum. Bil eru eins í öllum hnappasetningum. Töfluna má einnig nálgast á TSV formi sem viðhengi.
qwerty |
dvorak |
bjarki |
~ |
~ |
0 |
1 |
1 |
2 |
2 |
2 |
4 |
3 |
3 |
8 |
4 |
4 |
6 |
5 |
5 |
1 |
6 |
6 |
3 |
7 |
7 |
5 |
8 |
8 |
7 |
9 |
9 |
9 |
0 |
0 |
= |
- |
[ |
- |
= |
] |
/ |
q |
' |
b |
w |
, |
j |
e |
. |
a |
r |
p |
r |
t |
y |
k |
y |
f |
i |
u |
g |
g |
i |
c |
u |
o |
r |
s |
p |
l |
t |
qwerty |
dvorak |
bjarki |
[ |
/ |
. |
] |
= |
, |
a |
a |
l |
s |
o |
o |
d |
e |
e |
f |
u |
m |
g |
i |
p |
h |
d |
d |
j |
h |
c |
k |
t |
n |
l |
n |
v |
; |
s |
q |
' |
- |
; |
z |
; |
[ |
x |
q |
] |
c |
j |
y |
v |
k |
z |
b |
x |
h |
n |
b |
w |
m |
m |
f |
, |
w |
x |
. |
v |
' |
/ |
z |
~ |
Inntak
Fyrsta línan er á forminu type1 on type2 þar sem type1 og type2 eru eitt af qwerty, dvorak eða bjarki. type2 er hnappasetning lyklaborðsins og type1 er hnappasetningin sem sá sem situr við tölvuna er vanur. Næst kemur ein lína, það sem sá sem situr við tölvuna skrifaði. Þessi texti er ávallt ein lína en getur innihaldið alla stafina sem koma fram í töflunni að ofan. Þessi lína inniheldur mest $1\, 000$ stafi og að minnsta kosti einn staf sem er ekki bilstafur.
Úttak
Prentið það sem sá sem situr við tölvuna ætlaði að skrifa. Úttak verður tekið gilt þó svo að bil séu ekki nákvæmlega eins og í inntaki, svo lengi sem orðin séu eins. Til dæmis eru tvö samhliða bil og eitt bil talið það sama.
Stigagjöf
Hópur |
Stig |
Takmarkanir |
1 |
1 |
Inntak er sýniinntak. |
2 |
11 |
Inntak byrjar á qwerty on qwerty. |
3 |
11 |
Inntak byrjar á dvorak on dvorak. |
4 |
11 |
Inntak byrjar á bjarki on bjarki. |
5 |
11 |
Inntak byrjar á dvorak on qwerty. |
6 |
11 |
Inntak byrjar á bjarki on qwerty. |
7 |
11 |
Inntak byrjar á qwerty on dvorak. |
8 |
11 |
Inntak byrjar á bjarki on dvorak. |
9 |
11 |
Inntak byrjar á qwerty on bjarki. |
10 |
11 |
Inntak byrjar á dvorak on bjarki. |
Sample Input 1 | Sample Output 1 |
---|---|
qwerty on qwerty thetta helst obreytt |
thetta helst obreytt |
Sample Input 2 | Sample Output 2 |
---|---|
dvorak on qwerty o.yqtxmal ekrpat |
setxkbmap dvorak |
Sample Input 3 | Sample Output 3 |
---|---|
bjarki on dvorak c'ls qnpttp eg l wylszp |
hvar stilli eg a bjarki |