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 5312KB
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