加载中...

给定一个字符串a 排成b 每次只能从原来的位置移动到队头 求操作多少次

累加匹配的后缀 因为只能往队头移动 后缀相同就是不用移动的位置

#include<bits/stdc++.h>
#define ll long long
using namespace std;

int n;
string s1,s2;

int main(){
    cin>>n;
    cin>>s1>>s2;
    s1="#"+s1;
    s2="#"+s2;
    int m=n,ans=0;
    for(int i=n;i>=1;i--){
        if(s1[i]==s2[m]){//串1 匹配到 串2 串2的匹配就往前走
            ans++;
            m--;
        }
    }
    cout<<n-ans;
    return 0;
}

posted @ 2022-08-27 11:05  liang302  阅读(28)  评论(0编辑  收藏  举报