#back tracking
#์ฒ์์ 2๊ฐ ๋์ค๋ฉด ์๋๋ ๊ฒฝ์ฐ ๋ง๋ค๊ธฐ
n = int(input())
arr = [1,2,3,4,5,6]
path=['']*n
used=[0]*6
def abc(level):
if path[0] == 2:
return #back tracking
if level == n:
for i in range(n):
print(path[i],end=' ')
print()
return
for i in range(6):
# if level == 0 and arr[i] == 2:
# continue
path[level] = arr[i]
abc(level+1)
path[level]=0
abc(0)โ
#back tracking
n = int(input())
arr = [1,2,3,4,5,6]
path=['']*n
used=[0]*6
def abc(level):
if level>1 and (path[level-1]==path[level-2]):
return
if level == n:
for i in range(n):
print(path[i],end=' ')
print()
return
for i in range(6):
# if level>0 and (path[level-1]==arr[i]): #path[level-1] == ๋ค์ด์จ๊ณณ, arr[i]== ๋ค์ด๊ฐ ๊ณณ
# continue
path[level] = arr[i]
abc(level+1)
path[level]=0
abc(0)
#์ง์
์ ์์ ์ํ๋ ๊ฒฝ์ฐ
n = int(input())
arr = [1,2,3,4,5,6]
path=['']*n
used=[0]*6
def abc(level):
if level == n:
for i in range(n):
print(path[i],end=' ')
print()
return
for i in range(6):
if level == 0 and arr[i] == 2:
continue
path[level] = arr[i]
abc(level+1)
path[level]=0
abc(0)
#back tracking
#์ฒ์์ 2๊ฐ ๋์ค๋ฉด ์๋๋ ๊ฒฝ์ฐ ๋ง๋ค๊ธฐ
n = int(input())
arr = [1,2,3,4,5,6]
path=['']*n
used=[0]*6
def abc(level):
if path[0] == 2:
return #back tracking
if level == n:
for i in range(n):
print(path[i],end=' ')
print()
return
for i in range(6):
# if level == 0 and arr[i] == 2:
# continue
path[level] = arr[i]
abc(level+1)
path[level]=0
abc(0)
'Problem Solving > ALGORITHM' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ ํด๋ฆฌ๋ ํธ์ ๋ฒ (์ต๋๊ณต์ฝ์), ์ต์๊ณต๋ฐฐ์ (0) | 2022.06.01 |
---|---|
deque (0) | 2022.05.31 |
๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ(Greedy Algorithm) (0) | 2022.05.13 |
๋ธ๋ฃจํธํฌ์ค ์๊ณ ๋ฆฌ์ฆ (์์ ํ์ ์๊ณ ๋ฆฌ์ฆ) (0) | 2022.03.11 |
DAT, Count Sorting (0) | 2022.02.10 |
๋๊ธ