3.
#include<bits/stdc++.h>
using namespace std;
#define MOD 19260817
#define MAXN 1005
long long A[MAXN][MAXN] = {0}, sum[MAXN][MAXN] = {0};
int n, m, q;
int main() {
A[1][1] = A[1][0] = 1;
for(int i = 2; i <= 1000; i++) {
A[i][0] = 1;
for(int j = 1; j <= i; j++)
A[i][j] = (A[i - 1][j] + A[i - 1][j - 1]) % MOD;
}
for(int i = 1; i <= 1000; i++)
for(int j = 1; j <= 1000; j++)
sum[i][j] = (sum[i - 1][j] + sum[i][j - 1]
- sum[i - 1][j - 1] + A[i][j] + MOD) % MOD;
int q;
cin >> q;
while(q--) {
int n, m;
cin >> n >> m;
cout << sum[n][m] << endl;
}
return 0;
} 1) (1 分)当 $i\leq j$ 时,A[i][j] 的值是 $0$。( ) 2) 当 $i>j$ 时,A[i][j] 的值相当于从 $i$ 个不同元素中取出 $j$ 个元素的排列数。( ) 3) sum[i][j] 的值($1<j<i\leq 1000$)不小于 sum[i-1][j-1] 的值。( ) 4) 若将第 12 行改为 `A[i][j]=(A[i-1
(本题为阅读程序 / 完善程序,完整题目与测试数据见平台)
本题考查基础知识的理解与应用,需要结合所学概念进行分析和判断。
注意审题,看清题目要求是选择"正确的"还是"不正确的"。逐一分析每个选项,排除明显错误的选项。
核心概念:本题涉及计算机科学基础知识,需要准确理解相关概念的定义和应用场景。
推导分析:逐一检查每个选项是否符合题目的条件和要求;对于不确定的选项,可以尝试举反例验证;结合排除法缩小选择范围。
避坑指南:注意否定词如"不正确的是""不属于";注意限定词如"一定""可能""必须"等绝对化表述往往是陷阱。
解题技巧:先排除明显错误的选项,在剩余选项中仔细比较。对于计算题,列出公式仔细计算。