Leetcode 688. The probability of a "horse" on the chessboard (DAY 39) ---- Dynamic programming learning period (overtime)

Original title

Insert picture description here



Code implementation (first brush timeout)

int sum;

void visit(int N,int K,int r,int t,int times)
{
    
    
    if(times <= K)
    {
    
    
            if(r>=0 && r<=N-1 && t>=0 && t<=N-1)
            {
    
    
                if(times < K)
                {
    
    
                    visit(N,K,r+2,t+1,times+1);
                    visit(N,K,r-2,t-1,times+1);
                    visit(N,K,r+2,t-1,times+1);
                    visit(N,K,r-2,t+1,times+1);
                    visit(N,K,r+1,t+2,times+1);
                    visit(N,K,r-1,t+2,times+1);
                    visit(N,K,r-1,t-2,times+1);
                    visit(N,K,r+1,t-2,times+1);
                }
                else
                    sum++;
            }
    }
}

double knightProbability(int N, int K, int r, int c){
    
    
    sum = 0;
    visit(N,K,r,c,0);
    return (double)sum/pow(8,K);
}

Guess you like

Origin blog.csdn.net/qq_37500516/article/details/113675128