#include <iostream>
using namespace std;
void go(int n, int x, int y) {
       if (n == 0)
               return;
       go(n - 1, x, 6 - x - y);
       cout << x << ' ' << y << '\n';
       go(n - 1, 6 - x - y, y);
}
int main(void)
{
       ios_base::sync_with_stdio(false);
       cin.tie(NULL);
       int n;
       cin >> n;
       cout << (1 << n) - 1 << endl;
       go(n, 1, 3); // 1번에서 3번으로 n개를 옮긴다.
       return 0;
}


'알고리즘' 카테고리의 다른 글

[DC] 백준 1074 Z  (0) 2018.04.29
[DC] 백준 2261 가장 가까운 두 점  (0) 2018.04.29
[DC] 백준 6236 용돈관리  (0) 2018.04.29
[DC] 백준 11728 배열 합치기  (1) 2018.04.29
[DC] 백준 1780 종이의 개수  (0) 2018.04.29

+ Recent posts