https://www.acmicpc.net/problem/11729
나의 풀이
import sys
inp = int(sys.stdin.readline().rstrip())
print(2**inp -1)
def func(n, start, end, extra) :
if n ==1 :
print(start, end)
else :
func(n-1, start, extra, end)
func(1, start, end, extra)
func(n-1, extra, end, start)
func(inp, 1, 3, 2)
나보다 빠르고 간결해 보이는 풀이
def m(n,a,b,c):
y=a+' '+c
if n==1:
return y
x=m(n-1,a,c,b)
z=m(n-1,b,a,c)
return '\n'.join([x,y,z])
s=m(int(input()),'1','2','3')
print(s.count('\n')+1)
print(s)