解题思路:
注意事项:
参考代码:
#include<bits/stdc++.h> using namespace std; const int mapsize=55; int Map[mapsize][mapsize]; int flag[mapsize]; queue<int> q; int n; void bfs() { while(!q.empty())//队列为空推出循环 { int point=q.front(); q.pop(); for(int i=0;i<n;i++) { if(Map[i][point]==1&&flag[i]==0) { q.push(i); flag[i]=1; cout<<i<<' '; } } } } int main() { cin>>n; memset(flag,0,n+5); for(int i=0;i<n;i++) { for(int j=0;j<n;j++) { cin>>Map[i][j]; } } q.push(0); cout<<'0'<<' '; flag[0]=1;//0已经遍历过了 bfs(); return 0; }
0.0分
0 人评分