回答編集履歴
2
誤記修正
answer
CHANGED
@@ -36,9 +36,9 @@
|
|
36
36
|
23 }
|
37
37
|
24 }
|
38
38
|
25 printf("]");
|
39
|
+
26
|
40
|
+
27 printf(" k = %d\n", k);
|
39
|
-
|
41
|
+
28 //--------確認コードここまで--------//
|
40
|
-
27
|
41
|
-
28 printf(" k = %d\n", k);
|
42
42
|
29
|
43
43
|
30 if (k == N) {
|
44
44
|
31 for (int i = 0; i < v.size(); i++) {
|
@@ -80,7 +80,7 @@
|
|
80
80
|
|
81
81
|
関数がどのように再帰で呼ばれているのかが
|
82
82
|
よく分からなかったので、dfs()の冒頭に、呼ばれた時点の
|
83
|
-
v, k を表示するようにしました。(17~
|
83
|
+
v, k を表示するようにしました。(17~28行目)
|
84
84
|
|
85
85
|
また、dfs()が呼ばれて、kがNと等しい場合にvで指定する人たちが
|
86
86
|
知り合いなのかを確認するため、確認結果を表示するようにしました。
|
@@ -97,6 +97,7 @@
|
|
97
97
|
入力データが、56~61行目で隣接行列(f[][])に格納されます。
|
98
98
|
|
99
99
|
|
100
|
+
|
100
101
|
実行すると、
|
101
102
|
|
102
103
|
```ここに言語を入力
|
1
出力結果をソース設定し見やすいように
answer
CHANGED
@@ -99,6 +99,7 @@
|
|
99
99
|
|
100
100
|
実行すると、
|
101
101
|
|
102
|
+
```ここに言語を入力
|
102
103
|
v=[] k = 0
|
103
104
|
v=[] k = 1
|
104
105
|
v=[] k = 2
|
@@ -195,11 +196,13 @@
|
|
195
196
|
v=[0, 1, 2, 3, 4] k = 5
|
196
197
|
知り合いでない関係がある
|
197
198
|
2
|
199
|
+
```
|
198
200
|
|
199
201
|
と出ます。
|
200
202
|
|
201
203
|
|
202
204
|
k = 5時の出力を抜粋すると、
|
205
|
+
```ここに言語を入力
|
203
206
|
v=[] k = 5
|
204
207
|
★全員知り合い (int)v.size() = 0
|
205
208
|
v=[4] k = 5
|
@@ -264,6 +267,7 @@
|
|
264
267
|
知り合いでない関係がある
|
265
268
|
v=[0, 1, 2, 3, 4] k = 5
|
266
269
|
知り合いでない関係がある
|
270
|
+
```
|
267
271
|
|
268
272
|
となります。
|
269
273
|
ここでvの値に注目すると、0,1,2,3,4の全ての組み合わせパターンが
|