原题
用map记录下字母歌里每个字母出现的顺序号,之后遍历第二个字符串,如果出现了当前字母的顺序号小于等于前一位,就说明他重新唱了一遍,就ans++
写了两道每日一题才发现这段时间自己的成长,继续加油,干巴得!
#include<bits/stdc++.h>
using namespace std;
map<char, int>mp;
int ans = 1;
int op;
string s1;
string s2;
int main()
{
cin>>s1;
cin>>s2;
int j = 0;
//每个字母的权值从1开始排列
for(int i = 0; i < s1.length(); i ++ ){
mp[s1[i]] = j ++ ;
}
for(int i = 1; i < s2.length(); i ++ ){
if(mp[s2[i]] <= mp[s2[i - 1]]) ans ++ ;
}
cout<<ans<<endl;
return 0;
}