b179. 空罐 Cans
標籤 :
通過比率 : 82人/138人 ( 59% ) [非即時]
評分方式:
Tolerant

最近更新 : 2011-04-12 10:50

內容
世界上有各式各样的罐子,像是哈密瓜汽水的罐子、葡萄汁的罐子或者是运动饮料的罐子。这些罐子其实都有神奇的分裂能力,会从一个罐子分裂成很多个。每个罐子都是由『罐子基因』来决定它是铁罐还是铝罐、罐子的高度及硬度等等特征。罐子基因可以用一个由a到d这些小写英文字母组成的序列来表示,当罐子进行分裂的时候,一个罐子会产生出四个罐子,这些罐子的罐子基因便是在原先罐子的罐子基因最后面分别附上a到d这些字母所形成的,而原先的罐子在经过分裂之后它的罐子基因就会变短(序列的第一个字母会消失),如果一个罐子的罐子基因序列长度变成零的话,那个罐子就会失去分裂能力然后死亡,接着被丢到资源回收场。罐子除了这个原因之外不会有其他的理由使它们死亡。

然而有些罐子基因对罐子是有害的,如果存在一段有害的基因是一个罐子的罐子基因序列的子字串,那个罐子就会生病,失去分裂的能力然后被送到医院接受治疗。顺道一提,罐子们一天会分裂一次。

如果我告诉你最一开始的那一个的罐子的罐子基因序列、经过的天数跟有害的罐子基因,你能够计算出最后有多少罐子被丢到资源回收场跟有多少罐子在医院接受治疗吗?
輸入說明
第一行是一个非空的小写英文字母序列,代表最一开始的罐子的罐子基因序列。接下来的两行有两个非负整数p 跟n 代表经过的天数跟有害基因的个数,最后n 行每行都有个非空的序列代表一段有害基因。

你可以放心的假设罐子们的罐子基因序列不管怎么分裂长度永远都会小于100,有害基因不会超过100种,每种的长度不会超过15,而p 不会超过300。
輸出說明
输出两个数字分别代表在资源回收场跟在医院的罐子数量,由于这两个数字可能很大,只要输出它们除以10007的余数就行了。 (也就是它们Mod 10007的结果)
範例輸入 #1
a
1
2
ab
ac
範例輸出 #1
1 2
測資資訊:
記憶體限制: 512 MB
提示 :
標籤:
出處:
2008海峽兩岸青少年程式設計競賽AkiraNanase [管理者: akira (akira) ]

本題狀況 本題討論 排行

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