hanker

백준(11729) JAVA - 하노이 탑 이동 순서 본문

Study/ALGORITHM

백준(11729) JAVA - 하노이 탑 이동 순서

hanker 2021. 9. 7. 15:54
반응형
import java.util.Scanner;

public class Main {

    public static StringBuilder sb = new StringBuilder();

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        int n = sc.nextInt();

        sb.append((int) (Math.pow(2, n) - 1)).append('\n');

        Move(n, 1, 2, 3);
        System.out.println(sb);

    }

    static void Move(int n, int A, int B, int C){

        if(n == 1){
            sb.append(A + " " + C + "\n");
            return;
        }

        Move(n - 1, A, C, B);

        sb.append(A + " " + C + "\n");

        Move(n - 1, B, A, C);
    }
}

 

 

 

참고

https://st-lab.tistory.com/96

 

[백준] 11729번 : 하노이 탑 이동 순서 - JAVA [자바]

www.acmicpc.net/problem/11729 11729번: 하노이 탑 이동 순서 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이

st-lab.tistory.com

 

반응형

'Study > ALGORITHM' 카테고리의 다른 글

백준(2447) JAVA - 별 찍기 - 10  (0) 2021.08.23
백준(10870) JAVA - 피보나치 수 5  (0) 2021.08.17
백준(10872) JAVA - 팩토리얼  (0) 2021.07.09
백준(1002) JAVA - 터렛  (0) 2021.07.07
백준(3053) JAVA - 택시 기하학  (0) 2021.07.07