C/C++描述 第十一届蓝桥杯省赛 C/C++ 大学B组 第一场(2020.7.5) 试题 E: 矩阵 题目+题解

  大家好,我叫亓官劼(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

猜你喜欢

转载自blog.csdn.net/qq_43422111/article/details/107192637