fork download
  1. #include <iostream>
  2. #include<queue>
  3. #include<vector>
  4. using namespace std;
  5. int main() {
  6. int n,e;
  7. cin>>n>>e;
  8. vector<vector<int>> adjList(n+1);
  9. for(int i = 0 ; i < e ; i++){
  10. int x,y;
  11. cin>>x>>y;
  12. adjList[x].push_back(y);
  13. adjList[y].push_back(x);
  14. }
  15.  
  16. int scr;
  17. cin>>scr;
  18.  
  19. queue<int> q;
  20. q.push(scr);
  21. vector<int> visited(n+1,0);
  22. visited[scr] = 1;
  23.  
  24. while(!q.empty()){
  25. int top = q.front();
  26. q.pop();
  27. for(auto &it:adjList[top]){
  28. if(visited[it] == 0){
  29. q.push(it);
  30. visited[it] = 1;
  31.  
  32. }
  33. }
  34. }
  35.  
  36. for(int i = 1 ; i <= n ; i++){
  37. if(visited[i] == 0)
  38. cout<<"NO"<<endl;
  39. else
  40. cout<<"YES"<<endl;
  41. }
  42. return 0;
  43.  
  44.  
  45. }
Success #stdin #stdout 0s 5312KB
stdin
6 3
1 2
2 3
4 5
1
stdout
YES
YES
YES
NO
NO
NO