# 하노이탑 알고리즘만 알면 바로 풀 수 있던 문제. 그러나 출력문이 많아 System.out.print를 사용하면 시간 초과 발생하니 유의할것
package bj;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class p11729 {
static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
public static void main(String[] args) throws NumberFormatException, IOException {
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,2,3);
bw.close();
}
public static void hanoi(int N, int a, int b, int c) throws IOException {
if(N>0) {
hanoi(N-1, a, c, b);
bw.write(a+" "+c+"\n");
hanoi(N-1, b, a, c);
}
}
}
'백준' 카테고리의 다른 글
#백준_2805 나무 자르기 - Java (0) | 2020.01.11 |
---|---|
#백준_1992 쿼드트리 - Java (0) | 2020.01.11 |
#백준_1780 종이의 개수 - Java (0) | 2020.01.11 |
#백준_11728 배열 합치기 - Java (0) | 2020.01.11 |
#백준_2146 다리 만들기 - Java (0) | 2020.01.09 |