質問編集履歴

3

誤記修正

2023/04/09 06:02

投稿

unadondaisuki
unadondaisuki

スコア4

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

文言修正

2023/04/09 05:35

投稿

unadondaisuki
unadondaisuki

スコア4

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

試したことの追記

2023/04/09 05:34

投稿

unadondaisuki
unadondaisuki

スコア4

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
+