洛谷p1350:把矩陣分為上下兩塊n與m
放在n中的有i輛車則放在m中有k-i輛車
n的長為a 寬為b
m的長為a+c 寬為d
在每個矩陣中的放置種類公式如下:
a(長度,車輛)*c(寬度,車輛)
給出證明:
比如對於n來說
可以在a列中找出i列放入車 所以是a(a,i)
而且有c(b,i)種選擇列的方式
由此可得 列舉放在n和m的車有幾輛 並計算兩個矩陣種類之積即可
ps:對於矩陣m來說a為a(a+c-i,k-i) 而不是a(a+c,k-i) 因為每排只能放1輛而且有i輛已經放在n中了
#includeusingview codenamespace
std;
#define mod 100003
#define ll long long
#define maxn 2005ll a,b,c,d,k,ans;
ll fc[maxn][maxn];
ll a(ll n,ll m)
ll c(
int n,int
m)int
main()
洛谷 P1350 車的放置
洛谷 p1350 車的放置 有下面這樣的乙個網格棋盤,a,b,c,d表示了對應邊長度,也就是對應格仔數。當a b c d 2時,對應下面這樣乙個棋盤 要在這個棋盤上放k個相互不攻擊的車,也就是這k個車沒有兩個車在同一行,也沒有兩個車在同一列,問有多少種方案。同樣只需要輸出答案mod 100003後的...
P1350 車的放置
有下面這樣的乙個網格棋盤,a,b,c,d表示了對應邊長度,也就是對應格仔數。當a b c d 2時,對應下面這樣乙個棋盤 要在這個棋盤上放k個相互不攻擊的車,也就是這k個車沒有兩個車在同一行,也沒有兩個車在同一列,問有多少種方案。同樣只需要輸出答案mod 100003後的結果。輸入格式 輸入檔案pl...
洛谷1350 車的放置
題目描述 有下面這樣的乙個網格棋盤,a,b,c,d表示了對應邊長度,也就是對應格仔數。當a b c d 2時,對應下面這樣乙個棋盤 要在這個棋盤上放k個相互不攻擊的車,也就是這k個車沒有兩個車在同一行,也沒有兩個車在同一列,問有多少種方案。同樣只需要輸出答案mod 100003後的結果。輸入輸出格式...