请问大佬,为什么这个程序maxn=15会WA#4,而改为maxn=20即可AC?

P1004 [NOIP2000 提高组] 方格取数

因为2*n=16 看你第一个for
by 莜沐YouMu @ 2021-11-08 17:10:44


@[莜沐YouMu](/user/230892) 我一开始写的时候就考虑这个问题了,因为$k=i1+j1=i2+j2$,所以我第一轮循环用到的k在一开始数组定义的时候已经是$maxn* 2$ 了,只是一开始我的代码maxn=15,而dp还是$dp[maxn*2][maxn][maxn]$ 这是我改之前的数组定义: ```cpp const int maxn=15; int n,mp[maxn][maxn],dp[maxn*2][maxn][maxn]; ```
by TwilightSparkle @ 2021-11-08 18:34:05


@[TwilightSparkle](/user/453524) ``` int j2=k-i2; ``` k=16,i2=1时j2=15 然后 ``` t+=mp[i2][j2]; ```
by 莜沐YouMu @ 2021-11-08 18:44:33


@[莜沐YouMu](/user/230892) 好的,谢谢大佬
by TwilightSparkle @ 2021-11-08 20:48:11


|