a185: 頗汪吃⽔餃subseq
標籤 : 2015 Q_D 初賽 網際網路程式設計全國⼤賽 高中組
通過比率 : 3人/3人 ( 100% ) [非即時]
評分方式:
Tolerant

最近更新 : 2021-11-10 13:31

內容

頗汪最喜歡吃⽔餃了!

今天頗汪在下課後來到了抬灣⼤學後⾨名聲響亮的「⼤誒迪⽔餃」。

「⼤誒迪⽔餃」可不是普通的⽔餃店。⽼闆誒迪有著他獨特的經營理念,他說過⼀句名⾔:「要做出⽔餃很簡單,但要做出讓顧客驚艷的⽔餃才是最重要的。」所以在「⼤誒迪⽔餃」,舉凡常⾒的⾼麗菜⽔餃、⾲菜⽔餃,甚⾄是稀有的⿓蝦⽔餃、鳳梨⽔餃、哈密⽠⽔餃.......只要你想得到的⼝味,可以說是應有盡有!⽽每⼀種⼝味也有其相對應的編號,例如:0 號是常⾒的⾼麗菜⼝味、1021 號是雞⾁⼝味,⽽514514 號則是極其稀有的芒果⼝味。

⼤⾷量的頗汪為了能享⽤到盡量多種稀有⼝味的⽔餃,⼀坐下來就點了很多很多的⽔餃。熱騰騰的⽔餃上桌後,頗汪⼼想,只是吃⽔餃好像有點枯燥、沒什麼意思,所以他把⾯前的N 顆⽔餃⼀⼀編號,打算要從第⼀顆依序吃到第N 顆。但是頗汪是個善變的⼈,他隨時都可能因為⼼情不好⽽把筷⼦上的這顆⽔餃丟掉(但因為頗汪是來吃⽔餃的,他絕對不會把全部N 顆⽔餃都丟掉)。不過基於對⽔餃的熱愛,在吃的過程中頗汪會在紙上依序記錄下他所吃下的每⼀個⽔餃的⼝味,⽽在他享⽤完所有⽔餃後,紙上的記錄便會形成⼀個⽔餃序列(dumpling sequence)。

在開始享⽤眼前的⽔餃⼤餐前,頗汪想請你幫他算算看他最後可能得到的⽔餃序列(dumpling sequence) 有幾種?

例如:頗汪點了4 顆⽔餃,從第⼀顆到第四顆分別是⾼麗菜⼝味、⾲菜⼝味、⾲菜⼝味以及⾼麗菜⼝味,依照各⼝味的編號表⽰則是0, 1,1,0 ,如果頗汪在吃第⼆顆⽔餃前突然因為反胃⽽把第⼆顆⽔餃丟掉,最後便會得到⟨0,1, 0⟩ 的⽔餃序列。

⽽在以上的情況下,頗汪最後可能得到的⽔餃序列(dumpling sequence) 共有以下10 種:

(0), (1), (0,0), (0,1), (1,0), (1,1), (0,1,0), (0,1,1), (1,1,0), (0,1,1,0)。

輸入說明

第⼀⾏有⼀個正整數T ,代表測試資料筆數,接下來包含T 筆測試資料。

對於每筆測試資料第⼀⾏,包含⼀個正整數N ,代表頗汪點了多少顆⽔餃。下⼀⾏會有以單⼀空格隔開的N 個⾮負整數a1, a2,......, aN ,其中ai 代表第i 顆⽔餃的⼝味編號。

  • 1 <T < 10
  • 1 <N <105

• 對於所有1≤ i≤N ,滿⾜0 ≤ ai ≤ 109

輸出說明

對於每筆測試資料,請輸出⼀⾏包含⼀個整數,代表最終可能出現的⽔餃序列(dumpling sequence) 有幾種。
因爲答案可能很⼤,請輸出答案除以1000000007 (109 + 7) 的餘數。

範例輸入 #1
2
4
1 0 1 1
1
1000000000
範例輸出 #1
9
1
測資資訊:
記憶體限制: 64 MB
公開 測資點#0 (50%): 1.0s , <1K
公開 測資點#1 (50%): 1.0s , <1K
提示 :
標籤:
2015 Q_D 初賽 網際網路程式設計全國⼤賽 高中組
出處:
2015NPSC [管理者: ]


編號 身分 題目 主題 人氣 發表日期
沒有發現任何「解題報告」