您的位置:首页 > 编程语言 > Python开发

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

2017-11-16 08:55 288 查看
'''

[编程题]小易记单词

时间限制: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 = 0
for each in Yi_words:
if each in Sys_words:
scores += len(each)**2

print(scores)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息