当前位置:网站首页>放养但没有完全放养(春季每日一题 2)

放养但没有完全放养(春季每日一题 2)

2022-06-24 21:39:00 51CTO

一个鲜为人知的事实是,奶牛拥有自己的文字:「牛文」。

牛文由 放养但没有完全放养(春季每日一题 2)_贪心 个字母 ​​​a​​​ 到 ​​z​​​ 组成,但是当奶牛说牛文时,可能与我们所熟悉的 ​​abcdefghijklmnopqrstuvwxyz​​ 不同,她会按某种特定的顺序排列字母。

为了打发时间,奶牛 Bessie 在反复哼唱牛文字母歌,而 Farmer John 好奇她唱了多少遍。

给定一个小写字母组成的字符串,为 Farmer John 听到 Bessie 唱的字母,计算 Bessie 至少唱了几遍完整的牛文字母歌,使得 Farmer John 能够听到给定的字符串。

Farmer John 并不始终注意 Bessie 所唱的内容,所以他可能会漏听 Bessie 唱过的一些字母。

给定的字符串仅包含他记得他所听到的字母。

输入格式
输入的第一行包含 放养但没有完全放养(春季每日一题 2)_贪心 个小写字母,为​​​a​​​到​​z​​的牛文字母表顺序。

下一行包含一个小写字母组成的字符串,为 Farmer John 听到 Bessie 唱的字母。

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

数据范围
字符串的长度不小于 放养但没有完全放养(春季每日一题 2)_#include_03 且不大于 放养但没有完全放养(春季每日一题 2)_字符串_04

输入样例:

      
      
abcdefghijklmnopqrstuvwxyz
mood
  • 1.
  • 2.

输出样例:

      
      
3
  • 1.

样例解释
在这个样例中,牛文字母表与日常的字母表的排列一致。

Bessie 至少唱了三遍牛文字母歌。

有可能 Bessie 只唱了三遍牛文字母歌,而 Farmer John 听到了以下被标记为大写的字母。

      
      
abcdefghijklMnOpqrstuvwxyz
abcdefghijklmnOpqrstuvwxyz
abcDefghijklmnopqrstuvwxyz
  • 1.
  • 2.
  • 3.

      
      
#include<iostream>
#include<cstdio>
#include<cstring>

using namespace std;

const int N = 1010;

char a[ 30], s[ N];
int pos[ 30];

int main(){

scanf( "%s", a);
for( int i = 0; i < 26; i ++) pos[ a[ i] - 'a'] = i;

scanf( "%s", s);
int n = strlen( s);

int pre = 30;
int res = 0;
for( int i = 0; i < n; i ++){

int x = pos[ s[ i] - 'a'];
if( x <= pre) res ++;
pre = x;
}

cout << res << endl;

return 0;
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.


原网站

版权声明
本文为[51CTO]所创,转载请带上原文链接,感谢
https://blog.51cto.com/u_15236041/5416308