我有一个大小为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