首页 > 其他 > 详细

SDUT ———— 2107 数据结构实验之图论二:图的深度遍历

时间:2019-04-02 21:25:10      阅读:149      评论:0      收藏:0      [点我收藏+]

数据结构实验之图论二:图的深度遍历

Time Limit: 1000 ms Memory Limit: 65536 KiB

Problem Description

请定一个无向图,顶点编号从0到n-1,用深度优先搜索(DFS),遍历并输出。遍历时,先遍历节点编号小的。

Input

输入第一行为整数n(0 < n < 100),表示数据的组数。 对于每组数据,第一行是两个整数k,m(0 < k < 100,0 < m < k*k),表示有m条边,k个顶点。 下面的m行,每行是空格隔开的两个整数u,v,表示一条连接u,v顶点的无向边。

Output

输出有n行,对应n组输出,每行为用空格隔开的k个整数,对应一组数据,表示DFS的遍历结果。

Sample Input

1
4 4
0 1
0 2
0 3
2 3

Sample Output

0 1 2 3




吐血 presetation error
#include<bits/stdc++.h>

using namespace std ;

int matrix[105][105],visit[105];
int k,m;

int DFS(int i)
{
      if(!visit[i]){
        visit[i] =1;
        visit[104] += 1;
        cout << i-1 ;
        if(visit[104] < k) cout<<" ";
      }
         for(int j =1; j <= k ; j++)
              if(!visit[j] && matrix[i][j])   DFS(j);
              return 0 ;
}

int main()
{
  int T;
  cin >>T;
  while(T-- > 0)
  {
      cin >> k >> m;
      int u,v;
      memset(matrix,0,sizeof(matrix));
      memset(visit,0,sizeof(visit));
      for(int j =1; j <= m ; j++)
     {
         cin >> u >> v ;
         matrix[u+1][v+1] = 1;
         matrix[v+1][u+1] = 1;
      }

      DFS(1);
        if(T != 0)
        cout << endl;
  }
     return 0;
}

 

SDUT ———— 2107 数据结构实验之图论二:图的深度遍历

原文:https://www.cnblogs.com/TigerDZ/p/10645265.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!