1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#pragma warning (disable:4996)
#include <iostream>
#include <string>
 
using namespace std;
int cnt = 0;
string result = "";
 
static void hanoi(int n,string a, string b, string c) {
    if (n > 0) {
        hanoi(n - 1, a, c, b);
        result += a + " " + c;
        cnt++;
        hanoi(n - 1, b, a, c);
    }
}
int main(void) {
    int n;
    cin >> n;
    hanoi(n, "1""2""3");
    cout << cnt << "\n";
    for (int i = 0; i < result.length(); i=i+3) {
        cout << result.substr(i, 3)<<"\n";
    }
    return 0;
}
 
cs


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

[2193번] 이친수  (0) 2017.08.13
[2096번] 내려가기  (0) 2017.08.13
[11053번] 가장 긴 증가하는 부분 수열  (0) 2017.08.13
[9084번] 동전  (0) 2017.08.13
[5598번] 카이사르 암호  (0) 2017.08.13

+ Recent posts