应用实例:拯救007
- 总体算法
void Save007 ( Graph G )
{
for( each V in G ){
if( !visited[V] && FirstJump(V) ) {
answer = DFS( V );
if( answer == YES ) break;
}
}
if( answer == YES ) output("Yes");
else ouput("No");
}
int DFS( Vertex V )
{
visited[V] = true;
if( IsSafe(V) ) answer = YES;
else {
for( each W in G )
if(!visited[W]&&Jump(V,W)) {
answer = DFS(W);
if(answer==YES) break;
}
}
return answer;
}