description
眾所周知,萌萌噠六花不擅長數學,所以勇太給了她一些數學問題做練習。但是今天六花醬不想做數學題,於是他
們開始打牌。現在他們手上有m張不同的牌,牌有兩種:普通牌和功能牌。功能牌一共有n張,每張功能牌都有乙個
屬性值wi,保證sigma(wi)=m,1<=i<=n現在勇太將這m張牌隨機打亂(一共有m!種不同的順序)。一開始,六花先從
牌堆頂端取一張牌。接著每回合六花可以選擇手中的一張牌打出,如果這張牌是普通牌,那麼什麼都不會發生;如
果這種牌是功能牌,那麼六花需要從牌堆頂端再取wi張牌。重複這個過程直到六花手中沒有手牌或六花要摸牌的時
候牌堆已經空了,如果是前者,則勇太勝利,否則六花勝利。舉例來說,如果牌堆是。
2)打出,再取三張牌,手中的牌為。
3)打出這三張牌,還需要再取兩張,取到第二張的時候牌堆中已沒有牌,六花勝利。
而如果牌堆是,不難發現是勇太大勝利。現在,六花想要知道,這m!種順序中,有多少種是能讓自
己取得勝利的呢。當然這個問題對萌萌噠六花來說實在是太雉了,所以她來向你尋求幫助,你能幫幫她嗎。
input
第一行乙個整數n。
第二行他個空格隔開的正整數wi。
通過輸入你可以自己算出來m=sigma(wi),1<=i<=n
n≤40,1< wi≤10^5
output
輸出乙個整數表示答案,答案可能很大,你只需要輸出對998244353取模後的結果。
sample input
1 3
sample output
2 樣例解釋一
m!種牌堆中,
return *s++;
}inline
int read()
while(isdigit(ch)) x=x*10+ch-'0',ch=gc();
return x*f;
}const
int mod=998244353;
int n,m,ans;
int main()printf("%d\n",ans);
return
0;}
bzoj4735 數論 你的生命已如風中殘燭
description 眾所周知,萌萌噠六花不擅長數學,所以勇太給了她一些數學問題做練習。但是今天六花醬不想做數學題,於是他 們開始打牌。現在他們手上有m張不同的牌,牌有兩種 普通牌和功能牌。功能牌一共有n張,每張功能牌都有乙個 屬性值wi,保證sigma wi m,1 i n現在勇太將這m張牌隨機...
清華集訓2016 你的生命已如風中殘燭
將 w i 全部減 1 則問題變成乙個序列,其中給定有 n 個正數 w i 其餘都是 1 和是 0 字首和均非負,求排列方案數。如果和是 1 且要求字首和全為正數,有結論 每個排列的所有迴圈移位只有 1 種合法,所以計數圓排列數即可,具體數學 7.5 章有詳細證明,其實就是每次必須要取最後乙個最小值...
測試你生命的顏色
生命顏色是法國著名心理及靈術家ganaesia所研究出來的.只要把出生年月日相加,便可找出自己的生命顏色,從而窺探內心深處真正的自己,至於是不是真的有這麼神準,拿起筆來,自己算 生命顏色的計算方法 把你的西元出生年月日用的數字寫出來,然後將數字乙個乙個相加,直到結果變成單一數字為止,這個數字就是你的...