# 하노이탑 알고리즘만 알면 바로 풀 수 있던 문제. 그러나 출력문이 많아 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

+ Recent posts