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個相同...