Knight probability stays on board
On an N x N chessboard a knight starts at cell (r, c) and makes exactly K moves, each chosen uniformly at random among the 8 knight moves (even if it would leave the board, in which case the knight falls off and stops). Return the probability the knight is still on the board after K moves, rounded to 6 decimals. 1 <= N <= 25, 0 <= K <= 100, 0 <= r,c < N.
Implement
knight_on_board(N: int, K: int, r: int, c: int) → floatExamples
in
[3,2,0,0]out0.0625What a strong answer looks like
State your approach and its time/space complexity out loud before you optimize. Handle the edge cases (empty input, duplicates, overflow), and say why you chose this over the brute force. Green tests are the floor, not the grade.
0:00 of about 30 min
solution.py
InputExpectedGot
[3,2,0,0]0.0625not run yetsample