2023 CSP/J 初赛题求解
  • 板块灌水区
  • 楼主hcy_h20120621
  • 当前回复3
  • 已保存回复3
  • 发布时间2024/9/16 14:01
  • 上次更新2024/9/16 17:25:14
查看原帖
2023 CSP/J 初赛题求解
1211960
hcy_h20120621楼主2024/9/16 14:01

(2)


01 #include<iostream>
02 #include<vector>
03 #include<algorithm>
04 using namespace std;
05 
06 int f(string x,string y){
07     int m = x.size();
08   int n = y.size();
09   vector<vector<int>> v(m+1,vector<int>(n+1,0));
10   for(int i = 1;i <= m;i++){
11      for(int j = 1;j <= n;j++){
12         if(x[i-1] == y[j-1]){
13            v[i][j] = v[i-1][j-1]+1;
14        }else{
15          v[i][j] = max(v[i-1][j],v[i][j-1]);
16        }
17      }
18   }
19   return v[m][n];
20 }
21
22 bool g(string x,string y){
23     if(x.size() != y.size()){
24     return false;
25   }
26   return f(x + x, y) == y.size();
27 }
28
29 int main(){
30     string x, y;
31   cin >> x >> y;
32   cout<<g(x, y)<<endl;
33   return 0;
34 }

【判断题】

  1. f函数的返回值小于等于min(n,m)。( T )

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

  3. 当输入两个完全相同的字符串时,g函数的返回值总是true( T )

【单选题】

24. 将第19行中的“v[m][n]”替换为“v[n][m]”,那么该程序( D )

A. 行为不变

B. 只会改变输出

C..一定非正常退出

D. 可能非正常退出

.

rt,此题如果n和m差距过大则会如 D 所说
but,如果没有差距过大的情况,则如 B 所说
所以选哪个qwq
  1. 当输入为“csp-j p-jcs”时,输出为( B ) A."0"
    B. "1"
    C. "T"
    D. "F"

  2. 当输入为“csppsc spsccp”时,输出为:( D )

A."T"
B. "F"
C. "0"
D. "1"

2024/9/16 14:01
加载中...