백준 16936 나3곱2
n = int(input())
b = list(map(int, input().split()))
ans = []
def go(l):
global ans
if len(l) == n:
for i in range(1, n):
if l[i-1] * 2 == l[i]:
continue
elif l[i-1] // 3 == l[i] and l[i-1] % 3 == 0:
continue
else:
return
ans = l
return
for i in range(n):
if b[i] not in l:
go(l + [b[i]])
go([])
print(*ans)
그냥 다 구해서 나중에 확인하면 오래 걸림. 되는 것만 구한다
n = int(input())
b = list(map(int, input().split()))
ans = []
def go(l):
global ans
if len(l) == n:
ans = l
return
for i in range(n):
if b[i] not in l:
if l[-1] * 2 == b[i]:
go(l + [b[i]])
elif l[-1] // 3 == b[i] and l[-1] % 3 == 0:
go(l + [b[i]])
for i in range(n):
go([b[i]])
print(*ans)
Author And Source
이 문제에 관하여(백준 16936 나3곱2), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@gmlwlswldbs/백준-16936-나3곱2저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)