#400. CSP2023PJ-17
CSP2023PJ-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]; //第19行
}
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;
}
假设输入的 n、m 均是不超过 100 的正整数,完成下面的判断题和单选题:
(判断题)
f函数的返回值小于等于 min(n,m)。( )
{{ select(1) }}
- 对
- 错
f函数的返回值等于两个输入字符串最长公共子串的长度。( )
{{ select(2) }}
- 对
- 错
当输入两个完全相同的字符串时,g函数的返回值总是 true。( )
{{ select(3) }}
- 对
- 错
(选择题)
将第19行中的“v[m][n]”更改为“v[n][m]”,那么程序( )
{{ select(4) }}
- 行为不变
- 只会改变输出
- 一定非正常退出
- 可能非正常退出
当输入为“csp-j p-jcs”时,输出为( )
{{ select(5) }}
- “0”
- “1”
- “T”
- “F”
当输入为“csppsc spsccp”时,输出的第一行为( )
{{ select(6) }}
- “T”
- “F”
- “0”
- “1”
相关
在下列比赛中: