蒟蒻95分求助,WA第17点
查看原帖
蒟蒻95分求助,WA第17点
111172
Anoshag_Ruwan楼主2022/7/26 01:04
#include<cstdio>
using namespace std;
long long a[2401][2401],p=2333ll;
long long minn(long long x,long long y){return x<y?x:y;}
long long zhs(long long x,long long y){
	if(!x||!y)return 1;if(y<0)return 0;
	if(x<p&&y<p)return a[x][y];
	long long z=minn(y%p,x%p),q=zhs(x/p,y/p-1);
	return (q*a[x%p][x%p]%p+(zhs(x/p,y/p)-q+p)*a[x%p][z]%p)%p;
}
int main()
{
	long long i,j,k,m,q,n;
	scanf("%lld",&n);a[0][0]=1;
	for(i=1;i<=p;i++){a[i][0]=1;
		for(j=1;j<=i;j++)a[i][j]=(a[i-1][j]+a[i-1][j-1])%p;
	}for(i=1;i<=p;i++)
		for(j=1;j<=i;j++)a[i][j]=(a[i][j]+a[i][j-1])%p;
	for(k=0;k<n;k++){
		scanf("%lld%lld",&m,&q);
		printf("%lld\n",zhs(m,q));	
	}return 0;
}
2022/7/26 01:04
加载中...