DFS 遍历图

 1 #include<iostream>
 2 #include<cstdio>
 3 using namespace std;
 4 int vis[10000];
 5 int map[10000][10000];
 6 int n,m;
 7 void dfs(int u)
 8 {
 9     cout<<char(u+64)<<" ";
10     vis[u]=1;
11     for(int i=1;i<=n;i++)
12      {
13          if(map[u][i]==1&&vis[i]==0)
14           {
15               dfs(i);
16           }
17      }
18 }
19 int main()
20 {
21     cin>>n>>m;
22     char x,y;
23     for(int i=1;i<=m;i++)
24      {
25          cin>>x>>y;
26          map[x-64][y-64]=1;
27          map[y-64][x-64]=1;
28      }
29      dfs(1);
30      return 0;
31 }

 

posted @ 2017-04-08 18:07  ioioioioioio  阅读(158)  评论(0编辑  收藏  举报