#771. *L8数字串拼接
*L8数字串拼接
Description
乔治已知一个仅包含数字的字符串 S,现有 N 个盒子编号为1 到 N,第 i 号盒子中有 P 张卡片,每张卡片均写有一个仅包含数字的字符串。乔治要按照编号顺序从小到大依次检查每一个盒子,检查时可以从盒子中选择拿出一张卡片,也可以选择不拿。所有盒子按顺序检查完成后,将拿出的卡片按照拿取的先后次序从左向右排列,排列的卡片上的字符串会拼接成一个新字符串 T。请计算最少拿取多少张卡片才能使新字符串 T 等于已知的字符串 S;如果无论如何新字符串 T都不能与字符串 S 相等,则输出 -1。 例如: S = “12345”,N = 3; P = 3,1 号盒子中的三张卡片上的字符串分别为 “123”,“5”,“45”; P = 1,2 号盒子中的一张卡片上的字符串为 “1234”; P = 2,3 号盒子中的两张卡片上的字符串分别为 “345”,“45”; 检查 1 号盒子时拿出卡片“123”,检查 2 号盒子时选择不拿,检查 3 号盒子时拿出卡片“45”,组成的新字符串为“12345”,与 S 相等,且没有更少的拿取次数,故最少拿取 2张卡片。
Format
Input
第一行包含一个字符串 S,表示乔治已知的字符串,字符串仅包含数字; 第二行包含一个正整数 N,表示盒子的数量; 接下来共有 N 组数据,每组两行: 第一行包含一个正整数 P ,表示第 i 号盒子中卡片的数量; 第二行包含 P 个字符串,依次表示第 i 号盒子中卡片上的字符串,且字符串仅包含数字,字符串之间以一个空格隔开。
Output
一个整数,表示最少拿取多少张卡片才能使拼接的新字符串 T 等于已知的字符串 S;如果无论如何新字符串 T 都不能与字符串 S 相等,则输出 -1。
Samples
12345
3
3
123 5 45
1
1234
2
345 45
2
111222
2
3
111 1222 12
2
22 11
-1
Limitation
数据范围 测试点 1~10: 1≤S 的长度≤100; 1≤N≤100; 1≤Pi≤10; 1≤卡片上字符串的长度≤10。