Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- void probuj(int i, int x, int y, bool q);
- const int n = 5, nsq = 25;
- int i[n], j[n];
- bool q;
- int a[n], b[n], h[n][n];
- int s[n] = {1,2,3,4,5};
- int main(int argc, char** argv) {
- a[1] = 2; b[1] = 1;
- a[2] = 1; b[2] = 2;
- a[3] =-1; b[3] = 2;
- a[4] =-2; b[4] = 1;
- a[5] =-2; b[5] =-1;
- a[6] =-1; b[6] =-2;
- a[7] = 1; b[7] =-2;
- a[8] = 2; b[8] =-1;
- for(int i=1; i<n; i++)
- {
- for(int j=1; j<n; j++)
- {
- h[1][1] = 1;
- probuj(2,1,1,q);
- }
- if(q)
- {
- for(int i=1; i<n; i++)
- {
- for(int j=1; j<n; j++)
- {
- cout << h[i][j];
- }
- cout << endl;
- }
- } else cout << "NIE ISTNIEJE ROZWIAZANIE"<<endl;
- }
- return 0;
- }
- void probuj(int i, int x, int y, bool q)
- {
- int k, u, v;
- bool q1;
- k = 0;
- do
- {
- k += 1;
- q1 = false;
- u = k + a[k];
- v = y + b[k];
- if(u == s[k] && v == s[k])
- {
- if(h[u][v] == 0)
- {
- h[u][v] = i;
- if(i < nsq)
- {
- probuj(i+1, u, v, q1);
- if(q1)
- {
- h[u][v] = 0;
- } else q1 = true;
- }
- }
- }
- } while (q1 || k == 8);
- q = q1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement