爸爸的雷达13
chl2023
2023-11-18 11:46:07
#include<bits/stdc++.h>
using namespace std;
int zhs[2005][2005],dp[2005][2005];
int t,k,n,m;
int main()
{
cin>>t;cin>>k;
for(int i=1;i<=2000;++i)
{
zhs[i][0]=1;
zhs[i][i]=1;
}
zhs[1][1]=1;
for(int i=2;i<=2000;++i)
for(int j=1;j<i;++j)
{
zhs[i][j]=(zhs[i-1][j]+zhs[i-1][j-1])%k;
}
for(int i=1;i<=2000;++i)
{
for(int j=1;j<=i;++j)
{
dp[i][j]=dp[i-1][j]+dp[i][j-1]-dp[i-1][j-1];
if(!zhs[i][j])
++dp[i][j];
}
dp[i][i+1]=dp[i][i];
}
for(int i=1;i<=t;++i)
{
cin>>n;
cin>>m;
if(m>n)
m=n;
cout<<dp[n][m]<<endl;
}
return 0;
}
共 5 条回复
https://theuselessweb.com/
https://smashthewalls.com/
http://www.staggeringbeauty.com/