大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博客地址为:亓官劼的博客
本文原创为亓官劼,请大家支持原创,部分平台一直在盗取博主的文章!!!
博主目前仅在CSDN中写博客,唯一博客更新的地址为:亓官劼的博客
试题 E: 矩阵
本题总分:15 分
【问题描述】
把 1 ∼ 2020 放在 2 × 1010 的矩阵里。要求同一行中右边的比左边大,同一
列中下边的比上边的大。一共有多少种方案?
答案很大,你只需要给出方案数除以 2020 的余数即可。
【答案提交】
这是一道结果填空题,你只需要算出结果后提交即可。本题的结果为一个
整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
试题E 题解
#include <iostream>
using namespace std;
int main(){
int (*dp)[1011] = new int [2021][1011];
dp[1][1] = 1;
for (int i = 2; i <= 2020; ++i) {
for (int j = 1; j <= i; ++j) {
dp[i][j] += dp[i-1][j-1];
if(i-j<=j){
dp[i][j] += dp[i-1][j];
}
dp[i][j] %= 2020;
}
}
cout<<dp[2020][1010];
return 0;
}
答案:1340