組合數學 棋盤上放車(C )

2021-10-01 11:16:15 字數 858 閱讀 4206

description

在乙個n*n的棋盤上,放上k個中國象棋中的車,要求它們互不攻擊

問有多少種合理的擺法.

(1<=n<=10,0<=k<=n*n)

input

n,koutput

方案數sample input

4 4
sample output

24
hint首先畫出圖:

這種情況就可以用1234表示,那麼這題就被轉換成了1234的全排列問題。

這是這個樣例,再想:若輸入是6 4怎麼辦?那麼就是相當於1234的全排列再乘c(n,k),這個c(n,k)是n個里取k個的意思,那麼有了這個思路,就好寫了。

下面是**:

#include

using

namespace std;

long

longjc(

int n)

//階乘

long

longp(

int m,

int n)

//排列數公式

long

longc(

int n,

int m)

//組合數公式

intmain()

組合數學放球模型

n個球無區別,m個盒有區別,可有空盒 c n m 1,m 1 n個球無區別,m個盒無區別,可有空盒 c n m 1,m 1 m 在n m 1個球中選m 1個變成板 n個球無區別,m個盒有區別,沒有空盒 c n 1,m 1 n個球無區別,m個盒無區別,沒有空盒 c n 1,m 1 m 在n 1個空隔中...

DP 組合數學 BZOJ4807 車

題目傳送門 蛤蛤蛤蛤 高三真是狗 別問我開學第一周怎麼度過的我不想說 看到題目首先想到乙個dp,dp i j dp i j dp i j 表示放在第i ii行第j jj列的可行方案數,於是就有如下轉移辣 d p i j k j 1 mdp i 1 k i 2,n j 1,m dp i j sum l...

組合數學 8種盒子放球問題

這篇部落格總結一下下邊8種問題 1.有n個相同的球,k個不同的盒子,把n個球放到盒子裡,盒子不允許為空,有多少種方案。2.有n個相同的球,k個不同的盒子,把n個球放到盒子裡,盒子允許為空,有多少種方案。3.有n個相同的球,k個相同的盒子,把n個球放到盒子裡,盒子允許為空,有多少種方案。4.有n個相同...