首先祝大家儿童节快乐!
第一次写题解请多担待o( ̄︶ ̄)o
小喵技能是将n后加ya
小小喵技能是将ya变成n
那么第一步是先要找出原字符串中‘n’和‘ya’的个数以及其他字符的个数(先放一边,最后需要再加上)
第二步,写个K次循环,如果第二个字符串是'n'或‘N’进行对应的变换
N:ya++,ya再取模(敲黑板!!!要取模!!)
n; n加上ya的个数,ya清零(把ya看做一个整体),n再取模
第三步,都加起来再取模
代码如下:

#include <iostream>
#include <algorithm>
#include <string>
#include <cmath>
#include <cstdio>
#include <cstring>
#include <climits>
using namespace std;
#define ll long long
const int Mx = 1e7 + 10;
const ll Mod = 1e9 + 7;
int main()
{
    string s1, s2;
    ll k, i, N = 0, n = 0, ya = 0;
    cin >> s1;
    cin >> k;
    cin >> s2;
    ll s = s1.size();
    for (i = 0; i < s; i++)
    {
        if (s1[i] == 'n')
            n++;
        if (s1[i] == 'y' && s1[i + 1] == 'a')
            ya++;
    }
    ll num3 = s - n - ya * 2;
    for (ll i = 0; i < k; i++)
    {
        if (s2[i] == 'N')
        {
            ya += n;
            ya = ya % Mod;
        }
        else if (s2[i] == 'n')
        {

            n += ya;
            ya = 0;
            n = n % Mod;

        }
    }
    cout << (n + ya * 2 + num3) % Mod << endl;
    return 0;
}