警钟长鸣!!!
查看原帖
警钟长鸣!!!
807605
wattwzx楼主2025/1/4 20:59

记住每一步都要取模, 否则会WA!

#include<bits/stdc++.h>
#define int long long
using namespace std;
int yanghuisanjiao[10000][10000];
int a, b, k, n, m;
int qpow(int a, int b){
	int ans = 1;
	while(b > 0){
		if(b%2 == 1){
			ans = ans * a % 10007;
		}
		a = a*a%10007;//求快速幂取模
		b /= 2;
	}
	return ans;
}
signed main(){
	yanghuisanjiao[0][0] = 1;
	cin>>a>>b>>k>>n>>m;

	for(int i = 0; i <= k; i ++){
		yanghuisanjiao[i][0] = 1;
		for(int j = 1; j <= i; j ++){
			yanghuisanjiao[i][j] = (yanghuisanjiao[i-1][j] + yanghuisanjiao[i-1][j-1])%10007;//求杨辉三角时取模
			yanghuisanjiao[i][j] %= 10007;
		}
	}
	cout<<yanghuisanjiao[k][n] * qpow(a, n) * qpow(b, m)%10007;//此处易忘记取模,本人已WA多次
	return 0;
}
2025/1/4 20:59
加载中...