回答編集履歴
1
再帰で書いてみました。
test
CHANGED
@@ -49,3 +49,39 @@
|
|
49
49
|
-------------
|
50
50
|
|
51
51
|
沢山、質問を上げているようですが、全て同時? それとも宿題の山?
|
52
|
+
|
53
|
+
|
54
|
+
|
55
|
+
[追記]
|
56
|
+
|
57
|
+
再帰で書いてみました。もうちょっと面白いかと思ったのですが、簡単だったので、そのまま。
|
58
|
+
|
59
|
+
(元の入力データを書き換えています)
|
60
|
+
|
61
|
+
```C
|
62
|
+
|
63
|
+
void fill(int x, int y)
|
64
|
+
|
65
|
+
{
|
66
|
+
|
67
|
+
if ((x < 0) || (y < 0) || (x >= 12) || (y >= 12)) return;
|
68
|
+
|
69
|
+
if (input[x][y] != 1) return;
|
70
|
+
|
71
|
+
input[x][y] = 2;
|
72
|
+
|
73
|
+
fill(x - 1, y);
|
74
|
+
|
75
|
+
fill(x, y - 1);
|
76
|
+
|
77
|
+
fill(x + 1, y);
|
78
|
+
|
79
|
+
fill(x, y + 1);
|
80
|
+
|
81
|
+
}
|
82
|
+
|
83
|
+
```
|
84
|
+
|
85
|
+
|
86
|
+
|
87
|
+
ところで、質問の主旨は何だったのでしょうか?
|