fork(1) download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. /*int insideMaze(int x, int y){
  5. if(x>=6 || y >=5 || x<0 || y< 0)
  6. {
  7.   return 0;
  8. }
  9. return 1;
  10. }*/
  11. int visited[6][5] ={0}; // 0 is for not visited
  12. bool findPath(int a[6][5], int n1, int m1){
  13. if(visited[n1][m1]){
  14. return false;
  15. }
  16. if(n1>=6 || m1 >=5 || n1<0 || m1<0){
  17. return false;
  18. }
  19.  
  20. if(a[n1][m1] == 0){
  21. return false;
  22. }
  23. if(a[n1][m1]==2){
  24. return true;
  25. }
  26. //cout<<"["<<n1<<","<<m1<<"] ";
  27. visited[n1][m1] = 1;
  28. if(findPath(a,n1-1,m1)==true){
  29. return true;
  30. }
  31. if(findPath(a,n1,m1-1)==true){
  32. return true;
  33. }
  34. if(findPath(a,n1+1,m1)==true){
  35. return true;
  36. }
  37. if(findPath(a,n1,m1+1)==true){
  38. return true;
  39. }
  40.  
  41. return false;
  42. }
  43.  
  44. int main() {
  45. // your code goes here
  46. //int a[10][10];
  47. int a[6][5] = {
  48. {0,1,1,0,0},
  49. {1,0,1,1,1},
  50. {0,0,0,0,0},
  51. {0,1,1,1,1},
  52. {0,0,1,1,0},
  53. {1,0,1,1,2}
  54. };
  55. if(findPath(a,1,2)){
  56. cout<<"Path Found";
  57. }
  58. else{
  59. cout<<"Path not found";
  60. }
  61.  
  62. return 0;
  63. }
Success #stdin #stdout 0s 3140KB
stdin
Standard input is empty
stdout
Path not found