Bit Tetris 〜 横へな 2012.7.25

問題

ブロックが落ちたあとのテトリスフィールドから、横一列揃っている列を削除する。

フィールドの幅は可変。高さは8。

入力は「 ff-2f-23-f3-77-7f-3b 」のような形式。ハイフン区切りで二桁ずつの16進数となっている。
LSB(つまり、2進数の1の位)が下、MSB(つまり、2進数の大きな桁)が上のブロックを意味する。
したがって、この入力は下図のようなフィールドを意味する。

             
             
             
             
             
             
             
             
ff 2f 23 f3 77 7f 3b

見ての通り、下から数えて 1段目、2段目、6段目 が1列揃っているので、これを消す。 消した結果は下図のようになる:

             
             
             
             
             
             
             
             
1f 03 00 1c 0d 0f 06

というわけで、出力すべきは 1f-03-00-1c-0d-0f-06 という文字列となる。

サンプルデータ

# 入力 出力
#0ff-2f-23-f3-77-7f-3b1f-03-00-1c-0d-0f-06
#10100
#20000
#37a-4e0c-02
#456-b608-14
#512-12-1200-00-00
#6de-ff-7b0a-0f-05
#795-be-d005-1e-20
#87c-b0-bb1c-20-2b
#97a-b6-31-6a3a-56-11-2a
#1032-0e-23-8218-06-11-40
#11ff-7f-bf-df-ef0f-07-0b-0d-0e
#1275-df-dc-6e-4235-5f-5c-2e-02
#1362-51-ef-c7-f822-11-6f-47-78
#140c-47-8e-dd-5d-1704-23-46-6d-2d-0b
#15aa-58-5b-6d-9f-1f52-28-2b-35-4f-0f
#16ff-55-d5-75-5d-570f-00-08-04-02-01
#17fe-fd-fb-f7-ef-df-bf7e-7d-7b-77-6f-5f-3f
#18fd-fb-f7-ef-df-bf-7f7e-7d-7b-77-6f-5f-3f
#19d9-15-b5-d7-1b-9f-de69-05-55-67-0b-4f-6e
#2038-15-fd-50-10-96-ba18-05-7d-20-00-46-5a
#21fe-fd-fb-f7-ef-df-bf-7ffe-fd-fb-f7-ef-df-bf-7f

C/C++/Java 用データ