acmicpc
[BAEKJOON] 11729. 하노이 탑 이동 순서
코드와이
2021. 3. 4. 22:29
문제링크
11729번: 하노이 탑 이동 순서
세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로
www.acmicpc.net
package acmicpc.Silver2;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class 하노이_탑_이동_순서 {
static StringBuilder sb;
static int ans;
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
sb = new StringBuilder();
int n = Integer.parseInt(br.readLine());
ans = 0;
move(n, 1, 2, 3);
System.out.println(ans);
System.out.println(sb);
}
public static void move(int num, int from, int m, int to) {
ans++;
if(num == 1) {
sb.append(from).append(" ").append(to).append("\n");
} else {
move(num-1, from, to, m);
sb.append(from).append(" ").append(to).append("\n");
move(num-1, m, from, to);
}
}
}