[SHOI2015]超能粒子炮·改WA30求助

P4345 [SHOI2015] 超能粒子炮·改

帮你改了 数组越界了,还有就是递归的时候也越界了。 ```cpp #include <bits/stdc++.h> #define int long long using namespace std; const int N=3010,p=2333; int t; int n,k; int C[N][N],f[N][N]; void init() { C[0][0]=f[0][0]=1; for(int i=1;i<=3000;i++) { C[i][0]=C[i][i]=1; for(int j=0;j<=i;j++) C[i][j]=(C[i-1][j]+C[i-1][j-1])%p; } for(int i=0;i<=3000;i++)f[i][0]=1; for(int i=0;i<=3000;i++) for(int j=1;j<=3000;j++) f[i][j]=(f[i][j-1]+C[i][j])%p; } int lucas(int a,int b) { if(a<p&&b<p)return C[a][b]; return C[a%p][b%p]*lucas(a/p,b/p)%p; } int get_ans(int n,int k) { if(n==0||k==0)return 1; if(n<p&&k<p)return f[n][k]%p; return (f[n%p][p-1]*get_ans(n/p, k/p-1)%p+lucas(n/p,k/p)*f[n%p][k%p]%p+p)%p; } signed main() { init(); cin>>t; while(t--) { cin>>n>>k; cout<<(get_ans(n,k)+p)%p<<endl; } return 0; } ```
by crimson000 @ 2023-06-17 15:04:55


@[crimson000](/user/755337) 谢谢捏
by infinite2021 @ 2023-06-27 08:10:46


|