ブロックを回す 2017.5.24 問題

問題の概要

a b

5×5 のマス目にブロックが埋まっている。
中心を指定するので、そこを中心にブロックを時計回りに 90度回せ。

入力

入力は
a:00000/00110/00100/00100/00000
こんな感じ。 コロンの前は中心を示す記号。右図の a, b のいずれか。
コロンのあとは、マス目の状況を示す。スラッシュ区切りで各行が上から順に。
1がブロックあり。0がブロックなしを示す。

出力

出力は、回転したあとのブロックの状況を
00000/00000/00000/11100/00100
のような感じで。

ただし。
b:00000/00000/00000/00011/00011 のように、回転すると 5×5のマス目からはみ出してしまう場合は - を出力すること。

補足

サンプルデータ

# 入力 期待 状況へのリンク
0 a:00000/00110/00100/00100/00000 00000/00000/00000/11100/00100 リンク
1 b:00000/00000/00000/00011/00011 - リンク
2 a:00000/00000/00000/00011/00011 - リンク
3 b:00000/00000/00100/00000/00000 00000/00000/01000/00000/00000 リンク
4 a:00000/00000/00100/00000/00000 00000/00000/00000/01000/00000 リンク
5 b:00000/00110/00100/00100/00000 00000/00000/11100/00100/00000 リンク
6 b:00000/00000/00011/00011/00000 00000/00000/00000/11000/11000 リンク
7 a:00000/00000/00011/00011/00000 - リンク
8 a:01110/00100/00000/00000/00000 00000/00000/00010/00110/00010 リンク
9 b:01110/00100/00000/00000/00000 00000/00010/00110/00010/00000 リンク
10 a:00000/11110/00000/00000/00000 00000/00100/00100/00100/00100 リンク
11 b:00000/11110/00000/00000/00000 00100/00100/00100/00100/00000 リンク
12 a:00000/00011/00110/00000/00000 - リンク
13 b:00000/00011/00110/00000/00000 00000/00000/01000/01100/00100 リンク
14 a:00000/11100/11100/11100/00000 00000/11100/11100/11100/00000 リンク
15 b:00000/11100/11100/11100/00000 11100/11100/11100/00000/00000 リンク
16 a:01000/00000/00101/10010/10001 - リンク
17 b:01000/00000/00101/10010/10001 - リンク
18 b:10000/00000/10010/00000/00000 01010/00000/00000/01000/00000 リンク
19 a:10000/00000/10010/00000/00000 00000/01010/00000/00000/01000 リンク
20 a:00000/10101/11010/11010/01000 - リンク
21 b:00000/10101/11010/11010/01000 - リンク
22 b:01101/00011/01101/00000/00000 00000/01010/01010/00100/01110 リンク
23 a:01101/00011/01101/00000/00000 - リンク
24 a:00001/00000/00000/00100/00010 - リンク
25 b:00001/00000/00000/00100/00010 - リンク
26 b:00100/00000/00100/01000/00000 00000/10000/01010/00000/00000 リンク
27 a:00100/00000/00100/01000/00000 00000/00000/10000/01010/00000 リンク
28 a:00010/00100/00000/10000/00000 00000/10000/00000/00100/00010 リンク
29 b:00010/00100/00000/10000/00000 10000/00000/00100/00010/00000 リンク
30 b:11010/00011/10101/00001/00001 - リンク
31 a:11010/00011/10101/00001/00001 - リンク
32 a:00100/00010/00000/11000/00000 00000/10000/10000/00010/00100 リンク
33 b:00100/00010/00000/11000/00000 10000/10000/00010/00100/00000 リンク
34 b:01010/00000/00000/01000/00000 00000/10010/00000/00010/00000 リンク
35 a:01010/00000/00000/01000/00000 00000/00000/10010/00000/00010 リンク
36 a:00000/00000/00100/10100/00000 00000/10000/00000/11000/00000 リンク
37 b:00000/00000/00100/10100/00000 10000/00000/11000/00000/00000 リンク
38 b:10000/01101/01000/01100/10011 - リンク
39 a:10000/01101/01000/01100/10011 - リンク
40 a:00010/00000/00110/01000/10001 - リンク
41 b:00010/00000/00110/01000/10001 - リンク
42 b:00000/01000/01100/00000/00000 00000/01100/01000/00000/00000 リンク
43 a:00000/01000/01100/00000/00000 00000/00000/01100/01000/00000 リンク
44 a:01000/00000/00000/10000/00000 00000/10000/00010/00000/00000 リンク
45 b:01000/00000/00000/10000/00000 10000/00010/00000/00000/00000 リンク
46 b:00000/01101/00000/01010/11010 - リンク
47 a:00000/01101/00000/01010/11010 - リンク
48 a:00110/00101/00000/10100/00100 - リンク
49 b:00110/00101/00000/10100/00100 - リンク
50 b:11000/10110/00000/00110/00000 00110/00010/10100/10100/00000 リンク
51 a:11000/10110/00000/00110/00000 00000/00110/00010/10100/10100 リンク
52 a:00000/00000/00000/00001/00110 - リンク
53 b:00000/00000/00000/00001/00110 - リンク
54 b:01011/10001/00000/00000/00000 00100/00010/00000/00010/00110 リンク
55 a:01011/10001/00000/00000/00000 - リンク

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