fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define W 8
  4. #define H 6
  5.  
  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. void print_map(){
  16. int i,j;
  17. for(i=0;i<=5;i++){
  18. for(j=0;j<=7;j++){
  19. switch(map[i][j]){
  20. case 0:
  21. printf(" ");
  22. break;
  23. case 1:
  24. printf("#");
  25. break;
  26. case 2:
  27. printf("G");
  28. break;
  29. }
  30. }
  31. printf("\n");
  32. }
  33. }
  34.  
  35. void maze0(int x, int y, int depth){
  36. int a;
  37. switch(map[y][x]){
  38. case 0:
  39. for(a=0;a<depth;a++){
  40. printf(" ");
  41. }
  42. printf("(%d,%d)\n",x,y);
  43. break;
  44. case 1:
  45. for(a=0;a<depth;a++){
  46. printf(" ");
  47. }
  48. printf("(%d,%d)X\n",x,y);
  49. break;
  50. case 2:
  51. for(a=0;a<depth;a++){
  52. printf(" ");
  53. }
  54. printf("(%d,%d)OK\n",x,y);
  55. break;
  56. }
  57. }
  58.  
  59. void maze1(int x, int y, int depth){
  60. int a;
  61. switch(map[y][x]){
  62. case 0:
  63. for(a=0;a<depth;a++){
  64. printf(" ");
  65. }
  66. printf("(%d,%d)\n",x,y);
  67. maze1(x+1,y,depth+1);
  68. maze1(x,y+1,depth);
  69. break;
  70. case 1:
  71. for(a=0;a<depth;a++){
  72. printf(" ");
  73. }
  74. printf("(%d,%d)X\n",x,y);
  75. break;
  76. case 2:
  77. for(a=0;a<depth;a++){
  78. printf(" ");
  79. }
  80. printf("(%d,%d)OK\n",x,y);
  81. exit(0);
  82. break;
  83. }
  84. }
  85.  
  86. int main(){
  87. print_map();
  88. maze1(1,1,0);
  89. return 0;
  90. }
Success #stdin #stdout 0s 5312KB
stdin
Standard input is empty
stdout
########
#      #
# ### ##
#    # #
#  #  G#
########
(1,1)
  (2,1)
    (3,1)
      (4,1)
        (5,1)
          (6,1)
            (7,1)X
          (6,2)X
        (5,2)
          (6,2)X
        (5,3)X
      (4,2)X
    (3,2)X
  (2,2)X
(1,2)
  (2,2)X
(1,3)
  (2,3)
    (3,3)
      (4,3)
        (5,3)X
      (4,4)
        (5,4)
          (6,4)OK