ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • boj 11729
    카테고리 없음 2021. 8. 15. 13:42

    재귀로 하노이탑을 짜주면 됩니다.

    #include <bits/stdc++.h>
    using namespace std;
    
    void f(int n, char a, char b, char c) {                   // n번째 원판 a에서 c로 옮김
    	if (n == 1) {
    		cout << a << " " << c << "\n"; return;
    	}
    	f(n - 1, a, c, b);
    	cout << a << " " << c << "\n";
    	f(n - 1, b, a, c);
    }
    
    
    int main(void) {
    	int n;
    	cin >> n;
    	cout << (1 << n) - 1 << "\n";
    	f(n, '1', '2', '3');
    }

    댓글

Designed by Tistory.