문제설명
소스코드
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Main
{
static StringBuilder sb = new StringBuilder();
static void hanoi(int TopNum, int x, int y)
{
if (TopNum > 1) hanoi(TopNum - 1, x, 6 - x - y);
sb.append(x + " " + y ).append("\n");
if (TopNum > 1) hanoi(TopNum - 1, 6 - x - y, y);
}
public static void main(String[] args) throws Exception
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
System.out.println((int)Math.pow(2, n) - 1);
hanoi(n, 1, 3);
sb.toString();
System.out.println(sb);
}
}
설명
2023.02.03 - [자료구조 & 알고리즘/알고리즘] - [JAVA] 하노이의 탑 (Tower of Hanoi)
'자료구조 & 알고리즘 > BOJ' 카테고리의 다른 글
[Java] 백준 1920번 문제 (수 찾기) (0) | 2023.08.13 |
---|---|
[Java] 백준 11728번 문제 (배열 합치기) (0) | 2023.08.12 |
[Java] 백준 14916번 문제 (거스름 돈) (0) | 2023.08.11 |
[Java] 백준 26069번 문제 (붙임성 좋은 총총이) (0) | 2023.08.10 |
[Java] 백준 2164번 문제 (카드2) (0) | 2023.08.09 |