求教!
#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;
}
上代码了