하노이탑 [1914]

Yellta·2024년 5월 12일
0

알고리듬리듬

목록 보기
3/20

#include <queue>
#include <cmath>
#include <iostream>

using namespace std;

void func(int a, int b, int n) {
    if(n ==1) {
        cout << a << ' '<< b<<'\n';
        return;
    }

    func(a, 6-a-b, n-1);
    cout << a <<' '<< b<<'\n';
    func(6-a-b, b, n-1);
}

int main() {
    std::ios::sync_with_stdio(0);
    std::cin.tie(0);

    int n; cin >>n;

    if(n <=20) {
        cout << (1<<n) -1<<'\n';
        func(1,3,n);
    }else {
        string a = to_string(pow(2,n));
        int x = a.find('.');// .의 인덱스 반환
        a = a.substr(0,x);

        a[a.length()-1] -=1; // 가장 마지막 인덱스에 -1해줌
        cout << a;
    }

}
profile
Yellta가 BE개발해요! 왜왜왜왜왜왜왜왜왜왜왜왜왜왜왜왜왜왜왜 가 제일 중요하죠

0개의 댓글