为啥会爆50分
查看原帖
为啥会爆50分
131314
Balloonist楼主2021/5/22 11:00

求教!

#include<bits/stdc++.h>
using namespace std;
long long h[1009][1009];
long long ans;
int mi(int a,int b)
{
	int ans=1;
	while(b!=0)
	{
		if(1&b) ans=ans*a%10007;
		a=a*a%10007;
		b>>=1;
	}
	return ans;
}
void make(int x)
{
	h[1][1]=1;
	for(int i=2;i<=x;i++)
	{
		for(int j=1;j<=i;j++)
		{
			if(j==1) h[i][1]=1;
			else h[i][j]=(h[i-1][j-1]+h[i-1][j])%10007;
		}
	}
}
int main()
{
	long long a,b,k,n,m;
	cin>>a>>b>>k>>n>>m;
	make(k+1);
//	for(int i=1;i<=k;i++)
//	{
//		for(int j=1;j<=i;j++)
//		cout<<h[i][j]<<" ";
//		cout<<endl;
//	}
	long long op=1;
	op*=h[k+1][n+1];
	op=op*mi(a,m)%10007;
	op=op*mi(b,n)%10007;
	cout<<op;
	return 0;
}

上代码了

2021/5/22 11:00
加载中...