只有subtask3#17 WA(90pts) 求调
查看原帖
只有subtask3#17 WA(90pts) 求调
761339
Leonardo_Yang楼主2024/10/11 22:17
#include<bits/stdc++.h>
#define mod 1000000007
using namespace std;
int f[2][10001],n,x,y,p,t,ans;
int main(){
	for(cin>>t;t--;cout<<ans<<endl){
		memset(f,0,sizeof f),ans=0,f[0][0]=1,cin>>n>>p>>x>>y;
		if(x==y){
			bool b=true;
			for(int i=1;i<=n;i++)
				if(i*x%p==0){
					b=false;
					break;
				}
			ans=(int)b;
			continue;
		}
		for(int i=0;i<=n;i++){
			for(int j=0;j<=n-i;j++){
				if(i==0&&j==0) continue;
				else f[i&1][j]=((i*x+j*y)%p)?((((i)?(f[i&1^1][j]):0)+((j)?(f[i&1][j-1]):0))%mod):0;
				if(i+j==n) ans=(ans+f[i&1][j])%mod;
			}
		}
	}
	return 0;
}

2024/10/11 22:17
加载中...