fork(1) 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