Advertisement
Guest User

Untitled

a guest
Nov 17th, 2019
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.50 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. void probuj(int i, int x, int y, bool q);
  6.  
  7. const int n = 5, nsq = 25;
  8. int i[n], j[n];
  9. bool q;
  10. int a[n], b[n], h[n][n];
  11. int s[n] = {1,2,3,4,5};
  12.  
  13. int main(int argc, char** argv) {
  14.  
  15.     a[1] = 2; b[1] = 1;
  16.     a[2] = 1; b[2] = 2;
  17.     a[3] =-1; b[3] = 2;
  18.     a[4] =-2; b[4] = 1;
  19.     a[5] =-2; b[5] =-1;
  20.     a[6] =-1; b[6] =-2;
  21.     a[7] = 1; b[7] =-2;
  22.     a[8] = 2; b[8] =-1;
  23.  
  24.     for(int i=1; i<n; i++)
  25.     {
  26.         for(int j=1; j<n; j++)
  27.         {
  28.             h[1][1] = 1;
  29.             probuj(2,1,1,q);
  30.         }
  31.         if(q)
  32.         {
  33.             for(int i=1; i<n; i++)
  34.             {
  35.                 for(int j=1; j<n; j++)
  36.                 {
  37.                     cout << h[i][j];
  38.                 }
  39.                 cout << endl;
  40.             }
  41.         } else cout << "NIE ISTNIEJE ROZWIAZANIE"<<endl;
  42.     }
  43.  
  44.     return 0;
  45. }
  46.  
  47. void probuj(int i, int x, int y, bool q)
  48. {
  49.     int k, u, v;
  50.     bool q1;
  51.  
  52.     k = 0;
  53.  
  54.     do
  55.     {
  56.         k += 1;
  57.         q1 = false;
  58.         u = k + a[k];
  59.         v = y + b[k];
  60.         if(u == s[k] && v == s[k])
  61.         {
  62.             if(h[u][v] == 0)
  63.             {
  64.                 h[u][v] = i;
  65.                 if(i < nsq)
  66.                 {
  67.                     probuj(i+1, u, v, q1);
  68.                     if(q1)
  69.                     {
  70.                         h[u][v] = 0;
  71.                     } else q1 = true;
  72.                 }
  73.             }
  74.         }
  75.     } while (q1 || k == 8);
  76.     q = q1;
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement