Skip to content

Latest commit

 

History

History
36 lines (28 loc) · 762 Bytes

File metadata and controls

36 lines (28 loc) · 762 Bytes

Algorithm

알고리즘 공부


TODO

12/04

시간복잡도 정확히 알기

합이 k되는 숫자 구현해보기 (방식차이: 숫자를 선택/포기)

아래코드(nQueens) 분석하기
g

def solve_n_queens(n):
count = 0
MASK = (1 << n) - 1

def count_solutions(left, col, right):
    nonlocal count
    if col == MASK:
        count += 1
        return
    free_positions = ~(left | col | right) & MASK
    while free_positions:
        curr_pos = -free_positions & free_positions
        free_positions -= curr_pos
        count_solutions((left | curr_pos) << 1, col | curr_pos, (right | curr_pos) >> 1)

count_solutions(0, 0, 0)
return count
print(solve_n_queens(int(input())))

12/17 근사 알고리즘