赞
踩
#include<iostream> //蓝桥第9届 c语言c组第9题 //小朋友的崇拜圈 //有向图找环 dfs using namespace std; int map[100][100]={0}; //邻接矩阵 int visit[100]={0}; // 状态数组 int path[100]; //环的元素 int m=0; int v=30; //点的个数 void dfs(int k,int parent){ path[m++]=k; visit[k]=1; //正在访问 for(int i=1;i<=v;i++){ if(map[k][i]==1||map[i][k]==1){ if(visit[i]==1&&parent!=i){ for(int j=m-1;;j--){ cout<<path[j]<<' '; if(path[j]==i) break; } cout<<endl; } if(visit[i]==0) dfs(i,k); } } visit[k]=-1; //访问结束 m--; } int main(){ map[1][2]=1; map[2][3]=1; map[3][1]=1; map[3][4]=1; map[5][4]=1; map[5][6]=1; map[6][7]=1; map[7][5]=1; v=7; for(int i=1;i<=v;i++) if(visit[i]!=-1) dfs(i,-1); return 0; }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。