VCOLDWAT - Nước lạnh
Tác giả: skyvn97
Ngôn ngữ: C++
#include<cstdio>
#include<queue>
#include<vector>
#define MAX 100100
using namespace std;
vector<int> g[MAX];
int l[MAX];
int c[MAX];
int n;
void loadgraph(void) {
scanf("%d",&n);
int i,k,e,b1,b2;
scanf("%d",&k);
for (i=1;i<=k;i=i+1) {
scanf("%d",&e);
scanf("%d",&b1);
scanf("%d",&b2);
g[e].push_back(b1);
g[e].push_back(b2);
g[b1].push_back(e);
g[b2].push_back(e);
}
for (i=2;i<=n;i=i+1) c[i]=0;
}
void BFS(void) {
int i,x;
queue<int> q;
q.push(1);
c[1]=1;
l[1]=1;
while (!q.empty()) {
x=q.front();q.pop();
for (i=0;i<g[x].size();i=i+1)
if (c[g[x][i]]==0) {
c[g[x][i]]=1;
l[g[x][i]]=l[x]+1;
q.push(g[x][i]);
}
}
}
void process(void) {
int i;
for (i=1;i<=n;i=i+1) printf("%d\n",l[i]);
}
int main(void) {
loadgraph();
BFS();
process();
return 0;
}