質問編集履歴
3
解決しました
test
CHANGED
File without changes
|
test
CHANGED
@@ -256,9 +256,9 @@
|
|
256
256
|
|
257
257
|
}
|
258
258
|
|
259
|
-
hantei(s,t,N);
|
259
|
+
hantei(s,t,N);//1回目はだいだいこの部分にたどり着く
|
260
|
-
|
260
|
+
|
261
|
-
return 1;
|
261
|
+
return 1;//このreturnが必要
|
262
262
|
|
263
263
|
}
|
264
264
|
|
@@ -269,5 +269,3 @@
|
|
269
269
|
回答ありがとうございました。
|
270
270
|
|
271
271
|
最初にhanteiを呼び出したときに、return文を下につけておかなかったことで、判定終了して再帰関数で戻ったときに、hantei関数が終了しなかったのが原因だったようです。
|
272
|
-
|
273
|
-
ベストアンサーは一番わかりやすかった人とさせていただきます。
|
2
解決しました
test
CHANGED
File without changes
|
test
CHANGED
@@ -263,3 +263,11 @@
|
|
263
263
|
}
|
264
264
|
|
265
265
|
```
|
266
|
+
|
267
|
+
###追記
|
268
|
+
|
269
|
+
回答ありがとうございました。
|
270
|
+
|
271
|
+
最初にhanteiを呼び出したときに、return文を下につけておかなかったことで、判定終了して再帰関数で戻ったときに、hantei関数が終了しなかったのが原因だったようです。
|
272
|
+
|
273
|
+
ベストアンサーは一番わかりやすかった人とさせていただきます。
|
1
プログラムを修正しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -36,9 +36,7 @@
|
|
36
36
|
|
37
37
|
#define stop 2
|
38
38
|
|
39
|
-
#define M 5
|
40
|
-
|
41
|
-
#define
|
39
|
+
#define M 100
|
42
40
|
|
43
41
|
|
44
42
|
|
@@ -46,15 +44,15 @@
|
|
46
44
|
|
47
45
|
clock_t start_clock, end_clock;
|
48
46
|
|
49
|
-
int a[
|
47
|
+
int a[M+1][M+1], r[M+1][M+1], d[M+1], v[M+1];
|
50
|
-
|
51
|
-
|
52
|
-
|
48
|
+
|
49
|
+
|
50
|
+
|
53
|
-
void ransuu();
|
51
|
+
void ransuu(int);
|
54
|
-
|
55
|
-
|
56
|
-
|
52
|
+
|
53
|
+
|
54
|
+
|
57
|
-
int hantei(int, int);
|
55
|
+
int hantei(int, int, int);
|
58
56
|
|
59
57
|
|
60
58
|
|
@@ -62,7 +60,7 @@
|
|
62
60
|
|
63
61
|
srand((unsigned int)time(NULL));
|
64
62
|
|
65
|
-
int sum2,b[M];
|
63
|
+
int sum2,b[M+1];
|
66
64
|
|
67
65
|
for(int n=1;n<=M;n++){
|
68
66
|
|
@@ -70,17 +68,17 @@
|
|
70
68
|
|
71
69
|
printf("%d回目\n",n);
|
72
70
|
|
73
|
-
ransuu();
|
71
|
+
ransuu(n);
|
74
72
|
|
75
73
|
start_clock=clock();
|
76
74
|
|
77
|
-
hantei(1,n);
|
75
|
+
hantei(1,n,n);
|
78
76
|
|
79
77
|
end_clock=clock();
|
80
78
|
|
81
|
-
b[
|
79
|
+
b[n]=(double)(end_clock-start_clock)/CLOCKS_PER_SEC;
|
82
|
-
|
80
|
+
|
83
|
-
sum2+=b[
|
81
|
+
sum2+=b[n];
|
84
82
|
|
85
83
|
}
|
86
84
|
|
@@ -92,7 +90,7 @@
|
|
92
90
|
|
93
91
|
|
94
92
|
|
95
|
-
void ransuu(
|
93
|
+
void ransuu(int N){
|
96
94
|
|
97
95
|
printf("Adjacency Matrix:\n");
|
98
96
|
|
@@ -144,7 +142,7 @@
|
|
144
142
|
|
145
143
|
|
146
144
|
|
147
|
-
int hantei(int s,int t){
|
145
|
+
int hantei(int s,int t,int N){
|
148
146
|
|
149
147
|
int current, count, p=0;
|
150
148
|
|
@@ -258,7 +256,7 @@
|
|
258
256
|
|
259
257
|
}
|
260
258
|
|
261
|
-
hantei(s,t);
|
259
|
+
hantei(s,t,N);
|
262
260
|
|
263
261
|
return 1;
|
264
262
|
|