蓝桥20年(第十一届)6月

E、矩阵

#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll f[1017][1017];   //f[i][j]表示第一行i个数,第二行j个数的方案数 
int main(){
    f[0][0]=1;
    for(int i=1;i<=1010;++i){
        for(int j=0;j<=i;++j){  //因为第一行一定先放,所以 j<=i //未操作时的f[i][j]表示 第(第一行i个数,第二行j个数)时的数 
            if(i-1>=j){       // 若f[i][j]放第一行,则要保证 i-1>=j(上一次状态的第一行的个数一定比第二行的个数多) 
                f[i][j]+=f[i-1][j]%2020;
            }      
            f[i][j]+=f[i][j-1]%2020;  //放第二行的情况 
        }
    }
    cout << f[1010][1010]%2020 << endl;
    return 0;
}
蓝桥真题 文章被收录于专栏

蓝桥真题的题解

全部评论

相关推荐

渴望wlb的牛油果很...:直说卡第一学历不就行了 非得拐弯抹角
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务