fork download
  1. #include <iostream>
  2. using namespace std;
  3. bool findPathExistence(int ** edges,int n,int sv,int ev,bool * visited)
  4. {
  5. if(sv == ev)
  6. return true;
  7. visited[sv] = true;
  8. bool ans = false;
  9. for(int i=0;i<n;i++)
  10. {
  11. if(edges[sv][i] == 1 && !visited[i])
  12. {
  13. ans = findPathExistence(edges,n,i,ev,visited);
  14. if(ans)
  15. return ans;
  16. }
  17. }
  18. return ans;
  19. }
  20. int main() {
  21. int n, E;
  22. cin >> n >> E;
  23.  
  24. /*
  25.  
  26.   Write Your Code Here
  27. Complete the Rest of the Program
  28. You have to take input and print the output yourself
  29.  
  30.   */
  31. int ** edges = new int*[n];
  32. for(int i=0;i<n;i++)
  33. {
  34. edges[i] = new int[n];
  35. for(int j=0;j<n;j++)
  36. edges[i][j] = 0;
  37. }
  38. for(int i=0;i<E;i++)
  39. {
  40. int x,y;
  41. cin >> x >> y;
  42. edges[x][y] = 1;
  43. edges[y][x] = 1;
  44. }
  45. bool * visited = new bool[n];
  46. for(int i=0;i<n;i++)
  47. visited[i] = false;
  48. int sv,ev;
  49. cin >> sv >> ev;
  50. if(findPathExistence(edges,n,sv,ev,visited))
  51. cout << "true";
  52. else
  53. cout << "false";
  54. delete [] visited;
  55. for(int i=0;i<n;i++)
  56. delete [] edges[i];
  57. delete [] edges;
  58. return 0;
  59. }
  60.  
Success #stdin #stdout 0s 15232KB
stdin
Standard input is empty
stdout
true