2021 January Contest, Bronze
Problem 1. Uddered but not Herd
一个鲜为人知的事实是,奶牛拥有自己的文字:「牛文」。牛文由 26 个字母 'a' 到 'z' 组成,但是当奶牛说牛文时,可能与我们所熟悉的 'abcdefghijklmnopqrstuvwxyz' 不同,她会按某种特定的顺序排列字母。
为了打发时间,奶牛 Bessie 在反复哼唱牛文字母歌,而 Farmer John 好奇她唱了多少遍。
给定一个小写字母组成的字符串,为 Farmer John 听到 Bessie 唱的字母,计算 Bessie 至少唱了几遍完整的牛文字母歌,使得 Farmer John 能够听到给定的字符串。Farmer John 并不始终注意 Bessie 所唱的内容,所以他可能会漏听 Bessie 唱过的一些字母。给定的字符串仅包含他记得他所听到的字母。
输入格式(从终端/标准输入读入):
输入的第一行包含 26 个小写字母 'a' 到 'z' 的牛文字母表顺序。下一行包含一个小写字母组成的字符串,为 Farmer John 听到 Bessie 唱的字母。字符串的长度不小于 11 且不大于 10001000。
输出格式(输出至终端/标准输出):
输出 Bessie 所唱的完整的牛文字母歌的最小次数。
输入样例:
abcdefghijklmnopqrstuvwxyz mood输出样例:
3在这个样例中,牛文字母表与日常的字母表的排列一致。
Bessie 至少唱了三遍牛文字母歌。有可能 Bessie 只唱了三遍牛文字母歌,而 Farmer John 听到了以下被标记为大写的字母。
abcdefghijklMnOpqrstuvwxyz abcdefghijklmnOpqrstuvwxyz abcDefghijklmnopqrstuvwxyz测试点性质:
- 测试点 2-5 中,牛文字母表与日常的字母表相同。
- 测试点 6-10 没有额外限制。
=====Analysis=====
我最开始做到这个题的时候给我震惊了,这道题居然如此简单,完全不像是USACO的水平
这道题思路很简答,分三种情况
1. 听到的字母在上一个听到的字母的右边,判定为同一次
2. 3. 听到的是相同的或者是在上一次听到的字母的左边,判定为哼的下一次
然后把所有判定的加起来即可
没什么技术含量的题,不知道USACO出题组怎么想的,一会铜组的难得爆炸,一会又很简单。
=====Code=====
letter = list(input())
heard = list(input())
times = 1
for i in range(1,len(heard)):
if latter.index(heard[i]) <= latter.index(heard[i-1]):
times += 1
print(times)