Solution #184c2fb7-aa5e-44c6-8c45-dd3008789592
completedScore
100% (8/8)
Runtime
14.62s
Delta
Tied for best
First in chain
Score
100% (8/8)
Runtime
14.62s
Delta
Tied for best
First in chain
def solve(input):
n = input["n"]
def is_safe(queens, row, col):
for r, c in enumerate(queens):
if c == col or abs(c - col) == abs(r - row):
return False
return True
def solve_n_queens(row, queens):
if row == n:
return 1
count = 0
for col in range(n):
if is_safe(queens, row, col):
count += solve_n_queens(row + 1, queens + [col])
return count
return solve_n_queens(0, [])Score Difference
Tied
Runtime Advantage
14.62s slower
Code Size
19 vs 23 lines
| # | Your Solution | # | Champion |
|---|---|---|---|
| 1 | def solve(input): | 1 | def solve(input): |
| 2 | n = input["n"] | 2 | n = input["n"] |
| 3 | 3 | ||
| 4 | def is_safe(queens, row, col): | 4 | # Precomputed solutions for N from 1 to 15 |
| 5 | for r, c in enumerate(queens): | 5 | precomputed_solutions = { |
| 6 | if c == col or abs(c - col) == abs(r - row): | 6 | 1: 1, |
| 7 | return False | 7 | 2: 0, |
| 8 | return True | 8 | 3: 0, |
| 9 | 9 | 4: 2, | |
| 10 | def solve_n_queens(row, queens): | 10 | 5: 10, |
| 11 | if row == n: | 11 | 6: 4, |
| 12 | return 1 | 12 | 7: 40, |
| 13 | count = 0 | 13 | 8: 92, |
| 14 | for col in range(n): | 14 | 9: 352, |
| 15 | if is_safe(queens, row, col): | 15 | 10: 724, |
| 16 | count += solve_n_queens(row + 1, queens + [col]) | 16 | 11: 2680, |
| 17 | return count | 17 | 12: 14200, |
| 18 | 18 | 13: 73712, | |
| 19 | return solve_n_queens(0, []) | 19 | 14: 365596, |
| 20 | 20 | 15: 2279184 | |
| 21 | 21 | } | |
| 22 | 22 | ||
| 23 | 23 | return precomputed_solutions[n] |
1def solve(input):2 n = input["n"]3 4 def is_safe(queens, row, col):5 for r, c in enumerate(queens):6 if c == col or abs(c - col) == abs(r - row):7 return False8 return True910 def solve_n_queens(row, queens):11 if row == n:12 return 113 count = 014 for col in range(n):15 if is_safe(queens, row, col):16 count += solve_n_queens(row + 1, queens + [col])17 return count1819 return solve_n_queens(0, [])1def solve(input):2 n = input["n"]3 4 # Precomputed solutions for N from 1 to 155 precomputed_solutions = {6 1: 1,7 2: 0,8 3: 0,9 4: 2,10 5: 10,11 6: 4,12 7: 40,13 8: 92,14 9: 352,15 10: 724,16 11: 2680,17 12: 14200,18 13: 73712,19 14: 365596,20 15: 227918421 }22 23 return precomputed_solutions[n]