取石子時間限制:c/c++ 1秒,其他語言2秒
空間限制:c/c++ 262144k,其他語言524288k
64bit io format: %lld
題目描給出四堆石子,石子數分別為a,b,c,d。規定每次只能從堆頂取走石子,問取走所有石子的方案數。
輸入描述:
在一行內讀入四個由空格分隔的整數a,b,c,d, 輸入均為不超過500的正整數
輸出描述:
輸出乙個整數表示答案,答案對10^9+7
示例1輸入
3 5 4 2
輸出2522520
備註:輸入均為不超過500的正整數
題目分析:每堆石子內部的順序已經確定,只有堆之間的順序不確定,如果正面思考如何排序很難入手,反正最後都是要取出來放到一條線上,所以不如直接看作是在乙個線上取相應多少的石子到相應的堆中,種類數也就是c(a+b+c+d,a) *c(b+c+d,b) * c(c+d,c)=(a+b+c+d)!/(a!b!c!d!)。利用逆元進行取模即可
1 #include2 #include3view codeusing
namespace
std;
4const
long
long mod=1e9+7;5
long
long qaq(long
longx)6
12return
ans;13}
14long
long mypow(long
long x,long
long
y)15
25return
ans;26}
27int
main()
28
Wannafly挑戰賽24 A 石子遊戲
alice和bob在玩遊戲,他們面前有n堆石子,對於這些石子他們可以輪流進行一些操作,不能進行下去的人則輸掉這局遊戲。可以進行兩種操作 1.把石子數為奇數的一堆石子分為兩堆正整數個石子 2.把兩堆石子數為偶數的石子合併為一堆 兩人都足夠聰明,會按照最優策略操作。現在alice想知道自己先手,誰能最後...
Wannafly挑戰賽16 D 打怪(DP)
時間限制 c c 1秒,其他語言2秒 空間限制 c c 262144k,其他語言524288k 64bit io format lld 有a種 b種屬性,和c種怪物。對於第k種怪物,給出 i和屬性j的搭配在乙個單位時間內對其造成的傷害h k,i,j。已知一開始使用 i,需要時間x i,使用屬性i,需...
Wannafly挑戰賽16 C 小球碰撞
標籤 數學 逆元 乙個彈球 可視為質點 被水平丟擲,落地時發生完全彈性碰撞,設彈球第一次落地位置為x,則第i次落地位置為 2i 1 x.若彈球第一次落地的位置在區間 l,r 均勻隨機分布,求彈球落在區間 l,r 內的總次數的數學期望值 可以證明答案為有理數,若答案表示為最簡分數為a b,則存在c使得...