fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. typedef long long int ll;
  4.  
  5. int main() {
  6. ll n,m;
  7. cin>>n>>m;
  8. vector<ll> g[n+5];
  9. ll i=1;
  10. while(i<=m) {
  11. ll u,v;
  12. cin>>u>>v;
  13. g[u].push_back(v);
  14. g[v].push_back(u);
  15. i++;
  16. }
  17. queue<ll> q;
  18. ll src;
  19. cin>>src;
  20. q.push(src);
  21. ll us[n+5]={0};
  22. us[src]=1;
  23. ll lvl[n+5]={0};
  24. lvl[src]=0;
  25. while(!q.empty()) {
  26. ll v=q.front();
  27. q.pop();
  28. for(auto u:g[v]) {
  29. if(us[u]==0) {
  30. q.push(u);
  31. us[u]=1;
  32. lvl[u]=lvl[v]+1;
  33. }
  34. }
  35. }
  36. i=1;
  37. while(i<=n) {
  38. if(us[i]==0) {
  39. cout<<"not possible";
  40. } else {
  41. cout<<i;
  42. }
  43. cout<<'\n';
  44. i++;
  45. }
  46. return 0;
  47. }
Success #stdin #stdout 0.01s 5280KB
stdin
5 4
1 2
1 3
3 4
3 5
1
stdout
1
2
3
4
5