← 查看本卷题目
组合题6 个小题
已作答 0 / 6
#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;}
第 22 题判断题原卷 1.5 分

f 函数的返回值等于两个输入字符串的最长公共子串的长度。()

填写答案