图深度优先搜索之能否到达终点

来源:互联网 发布:股票赢家软件 编辑:程序博客网 时间:2024/06/05 16:27
#include <iostream>#include <cstring>using namespace std;bool visited[201];int road[201][201];bool flag;int n,m;void dfs(int city,int count){ //当前节点到达终点的话,返回true        if(city == n-1){flag = true;return ;}//遍历了n个节点仍未找到 else if(count == n){flag = false;return ;}else{            //dfs的精髓所在,for里面dfs                 for(int i=0;i<201;i++){if(road[city][i] == 1 && !visited[i]){visited[i] == true;dfs(i,count+1);} }}}int main(){//int n;while(cin>>n && n){//int m;memset(road,0,sizeof(road));memset(visited,false,sizeof(visited));flag = false;cin>>m;for(int i=0;i<m;i++){int a,b;cin>>a>>b;road[a][b] = 1;}dfs(0,0);if(flag){cout<<"I can post the letter"<<endl;}else cout<<"I can't post the letter"<<endl;}return 0;}

0 0
原创粉丝点击