Login with GitHub. Nope?
修正 C++ 的程式碼在使用一定量動態記憶體後會產生 RF 的問題 @ 2019/12/6 4:45pm NeoHOJ 強勢復活中 (Open beta)
Submit  Ranklist

Problem : 284 - PE Lesson

Problem Statistics

Solved Member: 10  Submission: 27  User Tried: 10

Statement:

瀚瀚最近找到了一份新的工作,他在小學教體育課,更精確點來說,他在小學負責教蘿莉打籃球。

體育課的暖身活動,瀚瀚習慣叫蘿莉們依序排成一排,第 1 隻蘿莉拿著編號 1 的球,第 2 隻蘿莉拿著編號 2 的球,...,第 n 隻蘿莉拿著編號 n 的球。如下面這張長得非常不像蘿莉的圖:



我們可以將每個人手上拿的球編號由左到右寫成一個數列:1,2,3,4,5,我們稱這個數列為蘿莉數列。

每一次,瀚瀚會挑選任意兩隻蘿莉,讓這兩隻蘿莉互相傳球,傳球完畢之後兩人手上球的編號就會交換,如下圖是編號 2,4 的蘿莉傳球以後每個人手上所拿的球。數列變成了 1,4,3,2,5。



瀚瀚可以一直重複上面的動作,一直叫兩隻蘿莉傳球,直到他爽為止(誤

問題是,瀚瀚的慾望太大,但每隻蘿莉的體力卻有限,第 i 隻蘿莉最多只能夠傳 ki 次球,瀚瀚想知道,在不超過每隻蘿莉的體力限制為前提下,最後形成的蘿莉數列總共有幾種可能呢?

Input:Output:

測試資料的第 1 行有一個整數 n ,代表有幾隻蘿莉。
第 2 行有 n 個數字 k1, k2, k3, ..., kn,代表每隻蘿莉最多可以傳幾次球。

限制:
n ≤ 1000000
1 ≤ ki ≤ 2

其中 30% 的測試資料滿足: n ≤ 10
其中 70% 的測試資料滿足: n ≤ 500
請輸出一個數字,代表最後的序列有幾種可能。由於可能數量可能非常多,請你輸出答案除以 1000000007 的餘數。

Sample Input:Sample Output:

SAMPLE A:
5
1 2 2 1 2

SAMPLE B:
8
1 2 2 1 2 1 1 2
SAMPLE A:
120

SAMPLE B:
16800

Source:

ABBYY Cup 3.0

Problem Setter

Testdata:

TestTimeMemoryScore
0-11000ms65536kb
0-21000ms65536kb
1-11000ms65536kb10
1-21000ms65536kb
1-31000ms65536kb
1-41000ms65536kb
1-51000ms65536kb
1-61000ms65536kb
1-71000ms65536kb
1-81000ms65536kb
1-91000ms65536kb
1-101000ms65536kb
1-111000ms65536kb
2-11000ms65536kb10
2-21000ms65536kb
2-31000ms65536kb
2-41000ms65536kb
2-51000ms65536kb
2-61000ms65536kb
2-71000ms65536kb
2-81000ms65536kb
2-91000ms65536kb
2-101000ms65536kb
2-111000ms65536kb
3-11000ms65536kb10
3-21000ms65536kb
3-31000ms65536kb
3-41000ms65536kb
3-51000ms65536kb
3-61000ms65536kb
3-71000ms65536kb
3-81000ms65536kb
3-91000ms65536kb
3-101000ms65536kb
3-111000ms65536kb
4-11000ms65536kb10
4-21000ms65536kb
4-31000ms65536kb
4-41000ms65536kb
4-51000ms65536kb
4-61000ms65536kb
4-71000ms65536kb
4-81000ms65536kb
4-91000ms65536kb
4-101000ms65536kb
4-111000ms65536kb
5-11000ms65536kb10
5-21000ms65536kb
5-31000ms65536kb
5-41000ms65536kb
5-51000ms65536kb
5-61000ms65536kb
5-71000ms65536kb
5-81000ms65536kb
5-91000ms65536kb
5-101000ms65536kb
5-111000ms65536kb
6-11000ms65536kb10
6-21000ms65536kb
6-31000ms65536kb
6-41000ms65536kb
6-51000ms65536kb
6-61000ms65536kb
6-71000ms65536kb
6-81000ms65536kb
6-91000ms65536kb
6-101000ms65536kb
6-111000ms65536kb
7-11000ms65536kb10
7-21000ms65536kb
7-31000ms65536kb
7-41000ms65536kb
7-51000ms65536kb
7-61000ms65536kb
7-71000ms65536kb
7-81000ms65536kb
7-91000ms65536kb
7-101000ms65536kb
7-111000ms65536kb
8-11000ms65536kb10
8-21000ms65536kb
8-31000ms65536kb
8-41000ms65536kb
8-51000ms65536kb
8-61000ms65536kb
8-71000ms65536kb
8-81000ms65536kb
8-91000ms65536kb
8-101000ms65536kb
8-111000ms65536kb
9-11000ms65536kb10
9-21000ms65536kb
9-31000ms65536kb
9-41000ms65536kb
9-51000ms65536kb
9-61000ms65536kb
9-71000ms65536kb
9-81000ms65536kb
9-91000ms65536kb
9-101000ms65536kb
9-111000ms65536kb
10-11000ms65536kb10
10-21000ms65536kb
10-31000ms65536kb
10-41000ms65536kb
10-51000ms65536kb
10-61000ms65536kb
10-71000ms65536kb
10-81000ms65536kb
10-91000ms65536kb
10-101000ms65536kb
10-111000ms65536kb