资源限制
内存限制:512.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s
问题描述
英语预备爷gzp是个逗(tu)比(hao),为了在即将到来的英语的quiz中不挂科,gzp废寝忘食复习英语附录单词表,俨然一场人间悲剧。不过上天有好生之德,上帝扔给了gzp一张纸,上面记载了将要考到的单词。不过gzp是个逗比,之前复习的东西全忘记了,所以他又要再来一次复习。不过已经知道了要考的单词,所以不需要复习单词表的所有页数。因此,现在需要你帮助他求出有多少页纸需要复习。他会告诉你每个单词会在哪几页出现,并且告诉你要考哪些单词,你只要告诉他答案就可以了。由于一个单词会出现在不同页上,只需要复习在最前面一页上的就可以了。
输入格式
第一行一个整数n,表示单词附录有n个单词。接下来n行每行一个小写字母组成的单词和一个整数,表示某一个单词和它所在的页数。接下来是一行整数m,表示要考m个单词,接下来m行小写字母组成的单词,表示要考到的单词。
输出格式
一个数,表示需要复习的页数。
样例输入
5
ab 1
ac 2
ab 2
ac 3
c 3
3
ab
ac
c
样例输出
3
数据规模和约定
0<=n,m<=100000,单词长度<=10。
代码如下:
n=int(input())
a=[list(map(str,input().split()))for i in range(n)]
m=int(input())
b=[list(map(str,input().split()))for i in range(m)]
c=0
d=[]
for i in b:
for j in range(n):
if i[0]==a[j][0]:
c+=1
for x in a:
x=x[0]
d.append(x)
for i in b:
c=c-d.count(i[0])+1
print(c)