Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void move(int n, int x = 1, int y = 3) {
- if (n == 1) {
- if ((x+1 == y) || (x == 3 && y == 1)) { // последовательное перемещение
- std::cout << n << ' ' << x << ' ' << y << std::endl;
- } else { // перемещение через 1
- int temp = 6 - x - y;
- std::cout << n << ' ' << x << ' ' << temp << std::endl;
- std::cout << n << ' ' << temp << ' ' << y << std::endl;
- }
- } else {
- int temp = 6 - x - y;
- if ((x+1 == y) || (x == 3 && y == 1)) { // последовательное перемещение
- move(n-1, x, temp);
- std::cout << n << ' ' << x << ' ' << y << std::endl;
- move(n-1, temp, y);
- } else { // перемещение через 1
- move(n-1, x, y);
- std::cout << n << ' ' << x << ' ' << temp << std::endl;
- move(n-1, y, x);
- std::cout << n << ' ' << temp << ' ' << y << std::endl;
- move(n-1, x, y);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement