Notice: Undefined index: name in /usr/www/lib/views/home/viewtitle.html on line 188
-阅读程序 第 17 题
#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;
}
● 判断题
第 1 题 f 函数的返回值小于等于 min(n,m)。( )
第 2 题 f 函数的返回值等于两个输入字符串的最长公共子串的长度。( )
第 3 题 当输入两个完全相同的字符串时,g 函数的返回值总是 true.( )
● 单选题
第 4 题 将第 19 行中的“v[m][n]” 替换为 “v[n][m]”,那么该程序( )。
第 5 题 当输入为“csp-j p-jcs”时,输出为( )。
第 6 题 当输入为“csppsc spsccp”时,输出为( )。

解答部分以后会开放。