㊗️:☀️☃️☃️☃️☀️ • 1个月前
#include<iostream>
#include<cstring>
#include<queue>
using namespace std;
int d[100][100];
bool vis[100];
int n, k, m, t,from,to;
void bfs(int t) {
queue<int> Q;
Q.push(t);
vis[t] = true;
while (!Q.empty()) {
int node = Q.front(); Q.pop();
cout << node << " ";
for (int i = 0; i < k; i++) if (d[node][i] == 1 && !vis[i]) {
Q.push(i);
vis[i] = true;
}
}
}
int main() {
cin >> n;
for (int a = 0; a < n; a++) {
cin >> k >> m >> t;
memset(d, 0, sizeof d);
memset(vis, 0, sizeof vis);
for (int i = 0; i < m; i++) {
cin >> from >> to;
d[from][to] = 1;
d[to][from] = 1;
}
bfs(t);
for (int i = 0; i < k; i++) if (!vis[i]) bfs(i);
}
return 0;
}
评论:
请先登录,才能进行评论