Python蓝桥杯算法训练—预备爷的悲剧

简介: Python蓝桥杯算法训练—预备爷的悲剧

问题描述:英语预备爷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

n=int(input(''))
dic1={}
for i in range(n):
    b=input('').strip().split()#输入ab 2 则 b=['ab','2'] 
    if dic1.get(b[0]) is None:
        dic1.setdefault(b[0],b[1])#存入单词和所在页码
    elif int(dic1.get(b[0]))>int(b[1]):#更新单词最早出现的页码
        dic1[b[0]]=b[1]
    else:
        pass
m=int(input(''))
res=[]
for i in range(m):
    b=input('').strip()
    res.append(b)#依次存入列表 如['ab','ac','c']
s=[]
for i in res:
     s.append(dic1.get(i))#储存每个单词所在页码
print(len(set(s)))#去除重复页码 累加


内存限制512MB 时间1s


评测结果100分 内存使用19.64MB


解决这道题步骤 1:题目冗长,抓取关键信息


2:两个突破口①记录单词最早出现的页码②记忆同一页上的单词只需查看一页 3:对应的解决办法①:通过比较,更新字典字母对应的页码 ②通过set去重 最后统计页码个数即最后结果


3:掌握列表字典的基本操作:切片,访问,修改......


赶上年末的小尾巴  大家一起加油吧~文章有不足之处欢迎批评指正!


目录
相关文章
|
6月前
|
存储 算法 测试技术
万万没想到,除了香农计划,Python3.11竟还有这么多性能提升!
万万没想到,除了香农计划,Python3.11竟还有这么多性能提升!
64 1
|
1月前
|
存储 机器学习/深度学习 算法
蓝桥杯练习题(三):Python组之算法训练提高综合五十题
蓝桥杯Python编程练习题的集合,涵盖了从基础到提高的多个算法题目及其解答。
63 3
蓝桥杯练习题(三):Python组之算法训练提高综合五十题
|
1月前
|
存储 机器学习/深度学习 算法
蓝桥杯练习题(二):Python组之基础练习三十题
蓝桥杯Python编程练习题的集合,包含了三十个不同难度的编程题目,覆盖了基础语法、数据结构和算法等领域。
34 0
|
6月前
|
Python
[重学Python]Day 2 Python经典案例简单习题6个
[重学Python]Day 2 Python经典案例简单习题6个
49 0
|
Python
用Python 通过动态规划完成公务员考试题
用Python 通过动态规划完成公务员考试题
97 0
|
算法 Python
Python蓝桥杯算法训练—预备爷的悲剧
Python蓝桥杯算法训练—预备爷的悲剧
51 0
|
算法 Python
【Python百日刷题计划】Day6~初识算法与递归
【Python百日刷题计划】Day6~初识算法与递归
149 0
【Python百日刷题计划】Day6~初识算法与递归
|
Python
5个小题目的编程竞赛python解答
5个小题目的编程竞赛python解答
302 0
|
机器学习/深度学习 算法 Python
利用Python浅尝算法分析
学习编程的人或许都听说过,程序 = 数据结构 + 算法 .数据是程序的中心,算法是解决问题的步骤,数据结构和算法两个概念间的逻辑关系贯穿了整个程序世界,首先二者表现为不可分割的关系.没有数据间的有机关系,程序根本无法设计。数据结构是底层,算法是上层。数据结构为算法提供服务,算法围绕数据结构进行操作 这些概念较为抽象,我们浅尝辄止,本文只介绍一些简单的理论,我们平时练习的程序可能运算规模和数据规模都很小每次运行都能很快得出结果,可以说是秒出.因为现在计算机技术的快速发展,就算是个人计算机一样有这非常可观的算力.但是这并不能改变运行程序时消耗资源的事实. 在实际的开发中,无论是设计还是应用一种算法
145 1
下一篇
无影云桌面