0/10求挑错
查看原帖
0/10求挑错
1429512
Silent_Lamb楼主2024/8/27 19:46
#include <bits/stdc++.h>
using namespace std;
int pow1(int num,int p,int k1){//快速幂 
	if(p==0)return 1;
	else if(p==1)return num;
	else{
		int a1=pow1(num,p/2,k1);
		int b1=(a1%k1*a1%k1)%k1;
		if(p%2==1) b1=(b1%k1*num%k1)%k1;
		return b1%k1;
	}
}

int main(){
    int k,a1[1005][1005],ans=0,a,b,n,m;
    cin >> a >> b >> k >> n >> m;
    a1[1][1]=1;
    for(int i=2;i<=k+1;i++){ 
        for(int j=1;j<=i;j++){
        a1[i][j] = (a1[i-1][j]%10007 +a1[i-1][j-1]%10007)%10007;
        }   
    }
    ans=a1[k+1][k-n+1];
    ans=ans*pow1(a,n,10007);ans%=10007;
    ans=ans*pow1(b,m,10007);ans%=10007;
    cout << ans;
    return 0; 
}
2024/8/27 19:46
加载中...