某天,閒來無事的你開始整理房間,結果發現一大堆散落的發票,本來想直接忽視它但你的腦中突然閃現《果然我的青春戀愛喜劇搞錯了》的畫面,偷偷期待的是不是有可能中個 200 元來去買小說的你,手中已經不自覺得撿拾發票,太好了 ! 發票還沒過期,嘴角不自覺上揚的你決定來試試運氣。
每張發票都只有 8 個 0 到 9 的數字,而中獎號碼範例如下圖:
現在你有 N 張發票,並且給你中獎號碼們,中獎號碼與上圖一樣有特別獎、特獎、三組頭獎、二獎到六獎以及兩個增開獎,不巧的是有些發票被弄髒了,一張發票至多有一個數字無法辨識,請計算出你最高可能中獎金額和最低可能中獎金額。
中獎金額與上方的圖相同,且特別獎、特獎、頭獎都是要全部一樣才算中獎,增開獎則是末三碼與他的兩組數字其中一個相同即算中獎,每張發票只能兌換一個獎項,並以最高金額優先。
e.x. 如果有發票同時中了特別獎和增開獎,則算1000萬的金額。
首行輸入一個字串 a 代表特別獎號碼(長度 8,由 0~9 組成)。
次行輸入一個字串 b 代表特獎號碼(長度 8,由 0~9 組成)。
第三行輸入三個字串 x,y,z 代表頭獎號碼(長度 8,由 0~9 組成)。
第四行輸入兩個字串 s,t 代表兩個增開獎號碼(長度 3,由 0~9 組成)。
第五行輸入一個整數 N (1≤ N ≤103),代表你要比對的發票數量。
接下來 N 行各有一個字串 num (長度 8,由 0 ~ 9 和 '*' 組成),代表你的每張發票的號碼。
輸入保證 a,b,x,y,z 皆相異 , s,t 後三碼皆異於 x,y,z 後三碼。
輸出最高可能中獎金額總和以及最低可能中獎金額總和。
輸入範例一 46356460 56337787 93339845 83390355 80431063 984 240 4 46356460 56337787 93339845 12345240 輸入範例二 12345678 98765432 11111111 22222222 33333333 432 678 3 98765432 11111*11 9876543* 輸入範例三 00000000 11111111 22222222 33333333 44444444 000 666 3 00000000 0000000* 0000*000
輸出範例一 12200200 12200200 輸出範例二 4200000 2000000 輸出範例三 30000000 10000200
比賽只有無汙點的情況,此為加強版。
日後仍有可能變動測資,若題敘或測資有問題歡迎寄信。
本題共有四組測試題組,條件限制如下所示。每一組可有一或多筆測試資料,該組所有測試資料皆需答對才會獲得該組分數。
子任務 |
額外輸入限制 |
#00, #08, #14, #19-20 |
N ≤10,無汙點。 |
#01-02, #09, #15, #18, #21-#23 |
N ≤103 ,無汙點。 |
#03, #06, #10, #12, #16 |
N ≤10。 |
#04-05, #07, #11, #13, #17, #24, #27-29 |
無特別限制。 |