题目:
描述:
曾经在天梯赛大杀四方的吉老师决定回归天梯赛赛场啦!
为了简化题目,我们不妨假设天梯赛的每道题目可以用一个不超过 500 的、只包括可打印符号的字符串描述出来,如:Problem A: Print "Hello world!"。
众所周知,吉老师的竞赛水平非常高超,你可以认为他每道题目都会做(事实上也是……)。因此,吉老师会按照顺序看题并做题。但吉老师水平太高了,所以签到题他就懒得做了(浪费时间),具体来说,假如题目的字符串里有 qiandao 或者 easy(区分大小写)的话,吉老师看完题目就会跳过这道题目不做。
现在给定这次天梯赛总共有几道题目以及吉老师已经做完了几道题目,请你告诉大家吉老师现在正在做哪个题,或者吉老师已经把所有他打算做的题目做完了。
提醒:天梯赛有分数升级的规则,如果不做签到题可能导致团队总分不足以升级,一般的选手请千万不要学习吉老师的酷炫行为!
输入格式:
输入第一行是两个正整数 N,M (1≤M≤N≤30),表示本次天梯赛有 N 道题目,吉老师现在做完了 M 道。接下来 N 行,每行是一个符合题目描述的字符串,表示天梯赛的题目内容。吉老师会按照给出的顺序看题——第一行就是吉老师看的第一道题,第二行就是第二道,以此类推。
输出格式:
在一行中输出吉老师当前正在做的题目对应的题面(即做完了 M 道题目后,吉老师正在做哪个题)。如果吉老师已经把所有他打算做的题目做完了,输出一行 Wo AK le。
样例 :
输入样例 1:
5 1
L1-1 is a qiandao problem.
L1-2 is so...easy.
L1-3 is Easy.
L1-4 is qianDao.
Wow, such L1-5, so easy.
输出样例 1:
L1-4 is qianDao.
输入样例 2:
5 4
L1-1 is a-qiandao problem.
L1-2 is so easy.
L1-3 is Easy.
L1-4 is qianDao.
Wow, such L1-5, so!!easy.
输出样例 2:
Wo AK le
解题:
分析:
这个是一个非常典型的字符串筛选 + 计数模拟问题,逻辑非常清晰。
先从第一题开始读。统计 吉老师做的题 的数量。如果题目字符串中含有 "qiandao" 或 "easy" 就 跳过。当做的题数量到达 m+1 时,这就是 当前正在做的题 。如果所有题都读完,仍没找到第 M+1 个 就 输出 "Wo AK le"。
代码:
n, m = map(int, input().split())
done = 0
for i in range(n):
l = input()
if 'qiandao' not in l and 'easy' not in l:
done += 1
if done == m + 1:
print(l)
break
else:
print('Wo AK le')
注意:
第m题是做完的题,m+1就是现在正在做的题,找到了记得加 break 。
最后的 else 是和for搭配的,for...else...是Python 中一种优雅的循环控制写法,如果没有执行for中的break,就会执行else,只有python语言才有哦!如果你写 C、Java、C++,就要用个flag标记,最后 if not flag 才输出Wo AK le。
最后:
这是PTA天梯赛练习题,有15分,还是比较简单的,就是要注意上述细节。
要提升代码能力还是要动手练起来哦!题目地址
本系列是用来记录我做题的经历和思考,希望能够帮助到您,如果有任何错误请在评论区提出,谢谢。
(python)&spm=1001.2101.3001.5002&articleId=154203559&d=1&t=3&u=37a39d6cd7c9426badd7db1ad5eaa347)
591

被折叠的 条评论
为什么被折叠?



