Guest User

recursive 4

a guest
Dec 31st, 2012
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.06 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int array[3][3] = {{0,0,0},
  5.                    {0,2,2},
  6.                    {1,2,2}};
  7.  
  8. void delay()
  9. {
  10.     for(int i=0;i<1000000;i++)
  11.         for(int j=0;j<200;j++);  
  12. }
  13.      
  14. void view(int I, int J)
  15. {
  16.        delay();
  17.        system("cls");
  18.        printf("%d %d\n",I,J);
  19. //       printf("-------\n|");
  20.        for(int i=0;i<3;i++)
  21.        {
  22.             printf("-------\n|");
  23.             for(int j=0;j<3;j++)
  24.             {
  25.                 if(i == I && j == J)
  26.                     printf("#|");    
  27.                 else if(array[i][j]==1)
  28.                     printf("G|");
  29.                 else if(array[i][j]==0)
  30.                     printf(" |");
  31.                 else if(array[i][j]==2)
  32.                     printf("%c|",177);    
  33.             }
  34.             printf("\n-------\n");
  35.        }
  36.        
  37. }
  38.                
  39. bool find_1(int i, int j)
  40. {
  41.     view(i, j);
  42.     //right
  43.     bool flag = false;
  44.     if(j >= 3 || i >=3)
  45.     {
  46.         return 0;
  47.     }
  48.         if(array[i][j] == 1)  
  49.         {
  50.             array[i][j] = 0;
  51.             view(i,j);
  52.             flag = true;
  53.         }
  54.         else
  55.         {
  56.             if(array[i][j+1] != 2)
  57.             {
  58.               int temp = find_1(i,j+1);
  59.               view(i,j);
  60.               flag = temp;
  61.             }
  62.             else
  63.             {
  64.               flag = 0;
  65.             }
  66.         }
  67.    
  68.    
  69.     if(flag == 1)
  70.         return flag;
  71.     printf("\nHoi\n");
  72.     //Down
  73.    
  74.         if(array[i][j] == 1)  
  75.         {
  76.             array[i][j] = 0;
  77.             view(i,j);
  78.             return 1;
  79.         }
  80.         else
  81.         {
  82.            
  83.             if(array[i+1][j] != 2)
  84.             {
  85.                 int temp = find_1(i+1,j);
  86.                 view(i,j);
  87.                 return temp;
  88.             }
  89.             else
  90.             {
  91.               return 0;  
  92.             }
  93.         }
  94.    
  95. }
  96.  
  97. int main()
  98. {
  99.    if(find_1(0,0))
  100.     printf("Got Gold\n");
  101.    else
  102.     printf("Got Nothing\n");
  103.    system("pause");
  104.    return 0;    
  105. }
Advertisement
Add Comment
Please, Sign In to add comment