목록2025/01/19 (2)
CS log
https://www.acmicpc.net/problem/9663 import sysdef dfs(n) : global ans if n==N : # N행까지 진행한 경우 경우의 수 가능 : 성공 ans+=1 return for j in range(N) : if v1[j] == v2[n+j] == v3[n-j] == 0: # 열/대각선 모두 없는 경우 v1[j] == v2[n+j] == v3[n-j] = 1 # 표시 dfs(n+1) v1[j] == v2[n+j] == v3[n-j] = 0 # 해제N = int(input())ans = 0v1 = [0]*Nv2 = [0]*(2*N)v3 = [..
https://www.acmicpc.net/problem/15663 import sysdef dfs(n,tlst) : if n==M : # 종료조건 ans.append(tlst) # tlst : 현재까지 만들어진 순열 return prev = 0 # 중복 안하기 위해서 설정한 값 for j in range(N) : # 주어진 리스트에서 if v[j] == 0 and prev != lst[j] : # 숫자가 이미 사용 안했는가? + 중복 확인 prev = lst[j] # 이전 숫자와 같지 않은 경우만 선택해서 중복 방지 v[j]=1 # 숫자를 선택했으므로 방문 상태를 1로 설정 ..