试题 D: 矩阵
【问题描述】
把1∼2020放在2×1010的矩阵里。要求同一行中右边的比左边大,同一列中下边的比上边的大。一共有多少种方案?
答案很大,你只需要给出方案数除以2020的余数即可。
【答案提交】
这是一道结果填空题,你只需要算出结果后提交即可。
本题的结果为一个 整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
import numpy
dp = numpy.zeros((1011, 1011))
n = 1011
dp[0][0] = 1
for i in range(n):
for j in range(n):
if i > j:
dp[i][j] += dp[i - 1][j]
if j != 0:
dp[i][j] += dp[i][j - 1]
dp[i][j] %= 2020
print(int(dp[-1][-1]))