您的位置:首页 > 房产 > 建筑 > AcWing 3358:放养但没有完全放养 ← 按位匹配

AcWing 3358:放养但没有完全放养 ← 按位匹配

2024/10/6 18:31:35 来源:https://blog.csdn.net/hnjzsyjyj/article/details/139870862  浏览:    关键词:AcWing 3358:放养但没有完全放养 ← 按位匹配

【题目来源】
https://www.acwing.com/problem/content/3361/

【题目描述】
一个鲜为人知的事实是,奶牛拥有自己的文字:「
牛文」。牛文由 26 个字母 a 到 z 组成,但是当奶牛说牛文时,可能与我们所熟悉的 abcdefghijklmnopqrstuvwxyz 不同,她会按某种特定的顺序排列字母。
为了打发时间,奶牛 Bessie 在反复哼唱牛文字母歌,而 Farmer John 好奇她唱了多少遍。
给定一个小写字母组成的字符串,为 Farmer John 听到 Bessie 唱的字母,计算 Bessie 至少唱了几遍完整的牛文字母歌,使得 Farmer John 能够听到给定的字符串。
Farmer John 并不始终注意 Bessie 所唱的内容,所以他可能会
漏听 Bessie 唱过的一些字母。
给定的字符串仅包含他记得他所听到的字母。

【输入格式】
输入的第一行包含 26 个小写字母,为 a 到 z 的
牛文字母表顺序。
下一行包含一个小写字母组成的字符串,为 Farmer John 听到 Bessie 唱的字母。

【输出格式】
输出 Bessie 所唱的完整的牛文字母歌的最小次数。

【数据范围】
字符串的长度不小于 1 且不大于 1000。

【输入样例】
abcdefghijklmnopqrstuvwxyz
mood

【输出样例】
3

【样例解释】
在这个样例中,牛文字母表与日常的字母表的排列一致。
Bessie 至少唱了三遍牛文字母歌。
有可能 Bessie 只唱了三遍牛文字母歌,而 Farmer John 听到了以下被标记为大写的字母。
abcdefghijkl
MnOpqrstuvwxyz
abcdefghijklmn
Opqrstuvwxyz
abc
Defghijklmnopqrstuvwxyz

【算法分析】
因为输入样例的第一行为
牛文字母表所以 Farmer John 听到的字母一定是按“牛文”有序的。
如果不是,那么就是又唱了一遍。

【算法代码】

#include <bits/stdc++.h>
using namespace std;string s,t;
int p;
int ans;int main() {cin>>s>>t;while(p!=t.size()) {for(int i=0; i<26; i++) {if(s[i]==t[p]) p++;}ans++;}cout<<ans<<endl;return 0;
}/*
in:
abcdefghijklmnopqrstuvwxyz
moodout:
3
*/




【参考文献】
https://www.acwing.com/solution/content/100357/
https://www.acwing.com/solution/content/99865/



 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com