网易2017春招编程题:小易记单词 [python]

来源:互联网 发布:合肥优化公司 编辑:程序博客网 时间:2024/06/06 09:26
'''
[编程题]小易记单词
时间限制:1秒
空间限制:32768K
小易参与了一个记单词的小游戏。游戏开始系统提供了m个不同的单词,
小易记忆一段时间之后需要在纸上写出他记住的单词。小易一共写出了n个他能记住的单词,
如果小易写出的单词是在系统提供的,将获得这个单词长度的平方的分数。
注意小易写出的单词可能重复,但是对于每个正确的单词只能计分一次。 
输入描述:


输入数据包括三行:
 第一行为两个整数n(1 ≤ n ≤ 50)和m(1 ≤ m ≤ 50)。以空格分隔
 第二行为n个字符串,表示小易能记住的单词,以空格分隔,每个单词的长度小于等于50。
 第三行为m个字符串,系统提供的单词,以空格分隔,每个单词的长度小于等于50。




输出描述:


输出一个整数表示小易能获得的分数
示例1
输入


3 4 apple orange strawberry strawberry orange grapefruit watermelon
输出


136
'''



'''
解题思路:用好集合
   这道题目思路很简单,用好python的内置的数据结构集合就行了
   不过有一个非常恶心的一点就是第四行输入有问题,好像会多输入字符串,需要自己对输入做一个[:m]的切片才能100%通过
'''


'''
代码运行结果:

答案正确:恭喜!您提交的程序通过了所有的测试用例

'''


n, m = [int(each) for each in input().split()]Yi_words = set(input().split())Sys_words = set(input().split()[0:m])scores = 0for each in Yi_words:    if each in Sys_words:        scores += len(each)**2print(scores)