Advertisement
Guest User

Untitled

a guest
Nov 14th, 2019
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.46 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstring>
  3. using namespace std;
  4. int maze[100][100];
  5. int visited[100][100];
  6. int judge=0;
  7. int stax,stay,endx,endy;
  8. void search(int x,int y){
  9. if(x==endx&&y==endy) {
  10. cout<<"Yes";
  11. judge=1;
  12. }
  13. else{
  14. if(maze[x+1][y]==0&&visited[x+1][y]==0) {
  15. visited[x+1][y]=1;
  16. search(x+1,y);
  17. visited[x+1][y]=0;
  18. }
  19. if(maze[x-1][y]==0&&visited[x-1][y]==0) {
  20. visited[x-1][y]=1;
  21. search(x-1,y);
  22. visited[x-1][y]=0;
  23. }
  24. if(maze[x][y+1]==0&&visited[x][y+1]==0) {
  25. visited[x][y+1]=1;
  26. search(x,y+1);
  27. visited[x][y+1]=0;
  28. }
  29. if(maze[x][y-1]==0&&visited[x][y-1]==0) {
  30. visited[x][y-1]=1;
  31. search(x,y-1);
  32. visited[x][y-1]=0;
  33. }
  34. }
  35. }
  36. int main(){
  37. int m,n;
  38. cin>>m>>n;
  39. for(int i=0;i<=m+1;++i){
  40. for(int j=0;j<=n+1;++j){
  41. maze[i][j]=1;
  42. }
  43. }
  44. for(int i=1;i<=m;++i){
  45. for(int j=1;j<=n;++j){
  46. cin>>maze[i][j];
  47. if(maze[i][j]==2) {
  48. stax=i;stay=j;
  49. }
  50. if(maze[i][j]==3){
  51. endx=i;endy=j;
  52. maze[i][j]=0;
  53. }
  54. }
  55. }
  56. visited[stax][stay]=1;
  57. search(stax,stay);
  58. if(judge==1) cout<<"Yes"<<endl;
  59. else cout<<"No"<<endl;
  60. return 0;
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement