Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- vector<int>v[2000];
- queue<int>q;
- int vis[2000];
- int main()
- {
- int t,i,j,k,l,n,m,y,x;
- scanf("%d",&t);
- for(j=1;j<=t;j++){
- if(j>1){
- printf("\n");
- }
- scanf("%d%d",&n,&m);
- memset(vis,-1,sizeof vis);
- for(i=0;i<m;i++){
- scanf("%d%d",&x,&y);
- v[x].push_back(y);
- v[y].push_back(x);
- }
- vis[0]=0;
- q.push(0);
- while(!q.empty()){
- y=q.front();
- q.pop();
- l=v[y].size();
- for(i=0;i<l;i++){
- x=v[y][i];
- if(vis[x]==-1){
- vis[x]=vis[y]+1;
- q.push(x);
- }
- }
- }
- for(i=1;i<n;i++){
- printf("%d\n",vis[i]);
- }
- for(i=0;i<n;i++){
- v[i].clear();
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement