蓝桥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;
}蓝桥真题 文章被收录于专栏
蓝桥真题的题解


查看10道真题和解析