日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Wannafly 挑战赛16 A 取石子

發(fā)布時(shí)間:2025/7/14 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Wannafly 挑战赛16 A 取石子 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

題目描述

給出四堆石子,石子數(shù)分別為a,b,c,d。規(guī)定每次只能從堆頂取走石子,問(wèn)取走所有石子的方案數(shù)。

輸入描述:

在一行內(nèi)讀入四個(gè)由空格分隔的整數(shù)a,b,c,d, 輸入均為不超過(guò)500的正整數(shù)

輸出描述:

輸出一個(gè)整數(shù)表示答案,答案對(duì)109+7取模 示例1 輸入 3 5 4 2 輸出 2522520

備注:

輸入均為不超過(guò)500的正整數(shù)

【分析】

每一堆的石子之間的相對(duì)位置是固定不變的,所以可以通過(guò)插入來(lái)生成一個(gè)取石子的順序,而插入的求解則可以利用組合數(shù)來(lái)計(jì)算。 起始的時(shí)候,把第一堆的$$$a$$$個(gè)石頭擺好,相當(dāng)于在$$$a$$$個(gè)空位放下$$$a$$$個(gè)石頭,由于石頭順序是固定的,所以有$$$C^a_a$$$種,也就是1種;

接下來(lái),把第二堆的$$$b$$$個(gè)石頭也加進(jìn)來(lái),要在$$$a$$$個(gè)石頭之間以及兩邊插入$$$b$$$個(gè)石頭,等價(jià)于一共有$$$a+b$$$個(gè)位置,在其中選$$$b$$$個(gè)位置,作為放置$$$b$$$的地方,由于$$$b$$$的順序確定,所以組合數(shù)為$$$C^b_{a+b}$$$個(gè)

?

然后把第三堆的$$$c$$$個(gè)石頭也加進(jìn)來(lái),在$$$a+b$$$個(gè)石頭插入$$$c$$$個(gè)石頭,同理,組合數(shù)為$$$C^c_{a+b+c}$$$個(gè);

?

第四堆的$$$d$$$加進(jìn)來(lái)就是$$$C^d_{a+b+c+d}$$$個(gè)。 所以最終答案為$$$C^a_a \times C^b_{a+b} \times C^c_{a+b+c} \times C^d_{a+b+c+d}$$$個(gè)

?

【注意】

組合數(shù)較大需要用long long存放;對(duì)答案需要取模 可以對(duì)組合數(shù)打表,來(lái)避免分?jǐn)?shù)取模,公式為$$$C^x_y = C^x_{y-1} + C^{x-1}_{y-1}$$$

?

?

【代碼】

#include<stdio.h> #define N_max 2005 int n; typedef long long ll; #define mod 1000000007ll C[N_max][N_max] = { 0 }; #define min(a,b) ((a)<(b)?(a):(b))int main() {int a[4];ll res = 1;for (int t = 0; t < N_max; ++t)C[t][0]=1;for (int i = 1; i <N_max; ++i)for (int j = 1; j <=i; ++j) {C[i][j] = (C[i - 1][j - 1] + C[i - 1][j])%mod;}for (int i = 0; i < 4; ++i){scanf("%d", a + i);}res = C[a[0]][a[0]];res = res*C[a[0] + a[1]][a[1]]%mod;res = res*C[a[0] + a[1]+a[2]][a[2]]%mod;res = res*C[a[0] + a[1]+a[2]+a[3]][a[3]]%mod;printf("%lld", res);return 0; }

轉(zhuǎn)載于:https://www.cnblogs.com/tobyw/p/9094727.html

總結(jié)

以上是生活随笔為你收集整理的Wannafly 挑战赛16 A 取石子的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。