C. 普及组CSP-J初赛程序阅读训练05

    客观题

普及组CSP-J初赛程序阅读训练05

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

01 #include <bits/stdc++.h>
02 using namespace std;
03
04 int calc(vector<vector<int>> &grid)
05 {
06    int n = grid.size(), m = grid[0].size();
07    vector<int> dp(m);
08    dp[0] = (grid[0][0] == 0);
09    for(int i = 0; i < n; i++)
10    for(int j = 0; j < m; j++)
11    {
12    if(grid[i][j] == 1)
13    {
14    dp[j] = 0;
15    continue;
16    }
17    if(j - 1 >= 0 && grid[i][j - 1] == 0)
18    dp[j] += dp[j - 1];
19    }
20    return dp[m - 1];
21 }
22
23 int main()
24 {
25    int n, m;
26    cin >> n >> m;
27    vector<vector<int>> a(n, vector<int>(m));
28    for(int i = 0; i < n; i++)
29    for(int j = 0; j < m; j++)
30    cin >> a[i][j];
31    cout << calc(a) << endl;
32    return 0;
33 }

判断题

第 1 题

若输入 3 3 0 0 0 0 1 0 0 0 0,则输出为 2。
{{ select(1) }}

  • 正确
  • 错误

第 2 题

若 f[i][j] 表示从 (0,0) 走到 (i,j) 的路径数,则在第 10~19 行的循环中,f[i][j]=dp[j]。
{{ select(2) }}

  • 正确
  • 错误

第 3 题

(2 分)若将第 27 行的代码改为 vector<vector<int>> a(n+1, vector<int>(m+1)),则当输入的 n=3,m=3 时,calc 函数中的 n=3,m=3。
{{ select(3) }}

  • 正确
  • 错误

选择题

第 4 题

当输入的 a 数组为 {{0,0,1},{1,1,0},{0,1,0},{1,0,1},{0,0,0}} 时,程序的输出为( )。
{{ select(4) }}

  • 0
  • 1
  • 2
  • 3

第 5 题

若删除第 12~16 行的代码,则当输入的 a 数组为 {{0,0,0},{0,1,0},{0,0,0}} 时,程序的输出为( )。
{{ select(5) }}

  • 1
  • 2
  • 3
  • 4

第 6 题

(4 分)当输入的 a 数组为 {{0,0,2},{0,1,2},{5,3,4}} 时,程序的输出为( )。
{{ select(6) }}

  • 0
  • 1
  • 2
  • 3

2026年08月28日CSP-J初赛专项训练

未参加
状态
已结束
规则
IOI
题目
3
开始于
2026-8-28 12:00
结束于
2026-9-3 18:00
持续时间
150 小时
主持人
参赛人数
23