fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. #define W 8
  5. #define H 6
  6. char map[H][W]={
  7. {1,1,1,1,1,1,1,1},
  8. {1,0,0,0,0,0,0,1},
  9. {1,0,1,1,1,0,1,1},
  10. {1,0,0,0,0,1,0,1},
  11. {1,0,0,1,0,0,2,1},
  12. {1,1,1,1,1,1,1,1},
  13. };
  14.  
  15. char visited[H][W]={0};
  16.  
  17. void maze1(int x,int y,int depth){
  18. int i;
  19. if(visited[y][x]==0){
  20. visited[y][x]=1;
  21. for(i=0;i<depth*2;i++){
  22. printf(" ");
  23. }
  24. printf("(%d,%d)",x,y);
  25. if(map[y][x]==0){
  26. printf("\n");
  27. maze1(x+1,y,depth+1);
  28. maze1(x,y+1,depth);
  29. maze1(x-1,y,depth-1);
  30. maze1(x,y-1,depth);
  31. } else if(map[y][x]==1){
  32. printf("X\n");
  33. } else {
  34. printf("OK\n");
  35. exit(0);
  36. }
  37. }
  38. }
  39.  
  40. int main(void) {
  41. maze1(1,1,0);
  42. return 0;
  43. }
Success #stdin #stdout 0s 5316KB
stdin
Standard input is empty
stdout
(1,1)
  (2,1)
    (3,1)
      (4,1)
        (5,1)
          (6,1)
            (7,1)X
          (6,2)X
          (6,0)X
        (5,2)
        (5,3)X
      (4,2)X
        (5,0)X
      (4,0)X
    (3,2)X
    (3,0)X
  (2,2)X
  (2,0)X
(1,2)
(1,3)
  (2,3)
    (3,3)
      (4,3)
      (4,4)
        (5,4)
          (6,4)OK