我有一個大小爲2*N
的矩陣A數組,每個元素爲*
檢查點或X
危險點不允許進入危險點。查找覆蓋所有檢查點的路徑
您需要查找是否有exist a path
覆蓋所有檢查點而不訪問危險點,並且每個點都是visited once
。
你可以在任何檢查站開始你的旅程。
對於前:
*X**
***X
路徑存在訪問所有的檢查站。
我的方法:
選擇第一檢查站從0遇到到N:
如果你在index i
和其它陣列(A [0]或A [1])包含了chekpoint所以如果可能的話,切換數組,如果不在相同的數組中繼續。
最後檢查是否訪問了所有檢查點。
我的做法是不給我正確的答案有什麼錯在這裏
代碼:
dfs(int x , int i){
Visted[x][i] = true;
if(!Visted[x^1][i] && A[x^1][i] == '*')
dfs(i, x^1);
else if(i+1 < n && A[x][i] == '*')
dfs(i+1,x);
}
目前還不完全清楚「每個點訪問過一次」。這是否應該是「每個觀察點不超過一次」? –
@ n.m。也許它意味着「恰好一次」。 – Gassa
@ n.m。每個點應該只訪問一次 – Regression