单选题

#include<iostream>

#include<vector>

#include<algorithm>

using namespace std;

 

int f(string x,string y){

    int m=x.size();

    int n=y.size();

    vector<vector<int>>v(m+1,vector<int>(n+1,0));

   for(int i=1;i<=m;i++){

       for(int j=1;j<=n;j++){

            if(x[i-1]==y[j-1]){

                v[i][j]=v[i-1][j-1]+1;

            }else{

                v[i][j]=max(v[i-1][j],v[i][j-1]);

            }

        }

    }

    return v[m][n];

}

 

bool g(string x,string y){

    if(x.size() != y.size()){

        return false;

    }

    return f(x+x,y)==y.size();

}

 

int main(){

    string x,y;

    cin>>x>>y;

    cout<<g(x,y)<<endl;

    return 0;

}

当输入为 “csppsc spsccp”时,输出为(

A

"T"

B

"F"

C

"0"

D

"1"

赣ICP备20007335号-2