diff --git a/Graph_Data-Structure_and_Algorithms/Valid_Path.cpp b/Graph_Data-Structure_and_Algorithms/Valid_Path.cpp new file mode 100644 index 0000000..b3e022f --- /dev/null +++ b/Graph_Data-Structure_and_Algorithms/Valid_Path.cpp @@ -0,0 +1,37 @@ +void dfs(int cx,int cy,int x,int y,int R,int N,vector&X,vector&Y,vector >&vis) +{ + if(cx<0 || cx>x || cy<0 || cy>y) return; + else if(vis[cx][cy]==1) return; + else + { + vis[cx][cy]=1; + for(int i=-1;i<=1;i++) + { + for(int j=-1;j<=1;j++) + { + if(i==0 && j==0) continue; + else + { + bool chk=true; + int xx=cx+i,yy=cy+j; + for(int k=0;k &E, vector &F) { + int x=A,y=B,N=C,R=D; + vector > vis(x+1,vector(y+1,0)); + dfs(0,0,x,y,R,N,E,F,vis); + if(vis[x][y]==1) return "YES"; + else return "NO"; +}