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 |