質問編集履歴
3
誤記修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -66,7 +66,6 @@
|
|
66
66
|
|
67
67
|
check = set()
|
68
68
|
cnt = 0
|
69
|
-
cnt_saiki = 0
|
70
69
|
depth = 0
|
71
70
|
def dfs(x,y, depth):
|
72
71
|
depth += 1
|
2
文言修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -52,7 +52,7 @@
|
|
52
52
|
```
|
53
53
|
|
54
54
|
### 試したこと
|
55
|
-
再帰の深さを確認しました。
|
55
|
+
再帰の深さの遍歴を確認しました。
|
56
56
|
returnをつけてもゴールには規定回数(3回)たどり着けているようですが、カウントが1回だけになっているようで、ここに原因があるようですが理由まではわかりませんでした。。。
|
57
57
|
|
58
58
|
```python
|
1
試したことの追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -51,4 +51,74 @@
|
|
51
51
|
|
52
52
|
```
|
53
53
|
|
54
|
+
### 試したこと
|
55
|
+
再帰の深さを確認しました。
|
56
|
+
returnをつけてもゴールには規定回数(3回)たどり着けているようですが、カウントが1回だけになっているようで、ここに原因があるようですが理由まではわかりませんでした。。。
|
54
57
|
|
58
|
+
```python
|
59
|
+
import sys
|
60
|
+
|
61
|
+
sys.setrecursionlimit(10**7)
|
62
|
+
|
63
|
+
H, W = map(int, input().split())
|
64
|
+
|
65
|
+
masu = [tuple(map(int, input().split())) for _ in range(H)]
|
66
|
+
|
67
|
+
check = set()
|
68
|
+
cnt = 0
|
69
|
+
cnt_saiki = 0
|
70
|
+
depth = 0
|
71
|
+
def dfs(x,y, depth):
|
72
|
+
depth += 1
|
73
|
+
print(depth)
|
74
|
+
global cnt
|
75
|
+
if masu[y][x] in check:
|
76
|
+
#print(check)
|
77
|
+
cnt += 0
|
78
|
+
return
|
79
|
+
check.add(masu[y][x])
|
80
|
+
|
81
|
+
if x == W-1 and y == H-1:
|
82
|
+
#print("flag")
|
83
|
+
cnt += 1
|
84
|
+
return
|
85
|
+
|
86
|
+
if x < W-1:
|
87
|
+
dfs(x+1, y, depth)
|
88
|
+
if y < H-1:
|
89
|
+
dfs(x, y+1, depth)
|
90
|
+
|
91
|
+
check.remove(masu[y][x])
|
92
|
+
|
93
|
+
dfs(0,0,0)
|
94
|
+
|
95
|
+
#print(cnt)
|
96
|
+
|
97
|
+
```
|
98
|
+
```入力データ
|
99
|
+
3 3
|
100
|
+
3 2 2
|
101
|
+
2 1 3
|
102
|
+
1 5 4
|
103
|
+
```
|
104
|
+
```出力データ
|
105
|
+
1
|
106
|
+
2
|
107
|
+
3
|
108
|
+
3
|
109
|
+
4
|
110
|
+
4
|
111
|
+
5
|
112
|
+
2
|
113
|
+
3
|
114
|
+
4
|
115
|
+
4
|
116
|
+
5
|
117
|
+
3
|
118
|
+
4
|
119
|
+
5
|
120
|
+
```
|
121
|
+
|
122
|
+
|
123
|
+
|
124
|
+
|