めぐるセル(簡易版) yokohama.rb 2014.10.11 問題

問題

5×5 の盤面に、左上から順に a〜y の文字が振られている。
YokoHamarb のような形で盤面に対する一連の操作が与えられる。
最初の文字から順に処理をする。
文字が小文字の場合は、この文字があるセルに隣接(斜め含む)するセルを、時計回りに回す。
文字が大文字の場合は、対応する小文字があるセルに隣接(斜め含む)するセルを、反時計回りに回す。
……という操作を繰り返す。
下図のような感じ:

で。
最後の操作によって位置が変わったセルの名前を、アルファベット順に答えよ。

入力と詳細

入力は
YokoHamarb
こんな感じ。この入力は上記のアニメーションに対応している。
見ての通り、区切り文字なしで操作を示す文字が並んでいる。

出力

最後の操作によって位置が変わったセルの名前を、アルファベット順に整列したもの。

補足

サンプルデータ

# 入力 期待 状況
0 YokoHamarb acdfp
1 Ruby twx
2 ruby nst
3 PHP gkluv
4 a bfg
5 b acfgh
6 m ghilnqrs
7 mg bcdhilmq
8 Mg fhiklmpq
9 MS ijmnoqrt
10 mG bcdhilmq
11 lf abcghklp
12 paq lprvw
13 bFH abcfg
14 Agh abcfgklm
15 Msul pruvw
16 RSRX jorty
17 xTsn ijmos
18 FHwnQ lmorsvwx
19 jIDIb cfghilmo
20 rLGPq ilmnprvx
21 WRiFhd ceg
22 gkfLfh cfglmpqr
23 STydYQ hklmpruv
24 spaeAWJ cdehimns
25 xTxTXwY mwx
26 xyQMkMi cdejlnow
27 HJkxpWxA cdhkp
28 hgaGDodg djo
29 abKBmkBc bdfik
30 mCvlhnilm adfgikqr
31 StyxTYsIh imnostxy
32 HLHnhLMLC ahlmn
33 DuHmbFQysI ehj
34 cGfGCaLgCq acguv
35 OisYOrOXwq ilnstvwx
36 wMnYIukHAvO bdefhjmn
37 HCfBhKHkhDF abdghikn
38 pUPmwrHsYSH morsy
39 PnCYYWnPoUxq bfopv
40 DiojiYXowowr cilmnstw
41 HLNsiNMnbAnn abdkm

C/C++/Java 用のテストデータ