【leetcode】黑白方格画

 

int factorial(int n){
    int ret=1;
    while(n) ret*=n--;
    return ret;
}
int paintingPlan(int n, int k){    
    if (k==0 || k==n*n) return 1;
    int blank=n*n-k,ret=0,val,i;
    for (i=1; i<=n && i<=blank; i++)        
        if (blank%i == 0 && blank/i <= n)
            ret += (factorial(n)/(factorial(blank/i)*factorial(n-blank/i))) * (factorial(n)/(factorial(i)*factorial(n-i)));
    return ret;    
}

 

posted @ 2020-11-06 13:49  温暖了寂寞  阅读(366)  评论(0编辑  收藏  举报