60分的奇怪错误!!
查看原帖
60分的奇怪错误!!
234783
conprour楼主2020/12/3 20:09
#include<bits/stdc++.h>
using namespace std;
const long long mod=10007;
long long a,b,k,n,m;
long long f[1005][1005];
long long ans;
long long qpow(long long x,long long y)
{
	long long res = 1;
	while(y)
	{
		if(y%2==1) res=(res*x)%mod;
		x=x*x%mod;
		y/=2;
	}
	return res;
}
int main()
{
	//freopen("factor.in","r",stdin);
//	freopen("factor.out","w",stdout);
	scanf("%lld%lld%lld%lld%lld",&a,&b,&k,&m,&n);
	f[0][1]=1;f[0][2]=1;
	f[1][1]=1,f[1][2]=2,f[1][3]=1;
	for(long long i=2;i<=k-1;i++)
		for(long long j=1;j<=i+2;j++)
		{
			f[i][j]=(f[i-1][j-1]+f[i-1][j])%mod;
		}
	long long tmp = (qpow(a%mod,n)*qpow(b%mod,m))%mod;
//	printf("%lld ",tmp);
	f[k-1][k-n+1]=(f[k-1][k-n+1]*tmp)%mod;
	printf("%lld",f[k-1][k-n+1]);
	return 0;
}

WA的点是3,6,7,8。。。求大佬帮看看!!QAQ

2020/12/3 20:09
加载中...