Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- typedef long long lli;
- const lli MOD=1000000007;
- const int MAX=10010;
- lli F[MAX][MAX]; // this stores the binomial coefficients
- lli R[MAX][MAX]; // this stores the actual answer.
- lli pow(lli base, lli exp){
- lli res=1;
- while(exp){
- if(exp%2) res=(res*base)%MOD;
- base=(base*base)%MOD;
- exp/=2;
- }
- return(res);
- }
- int main(){
- int m,n;
- scanf("%d %d",&m,&n);
- F[1][1]=1;
- for(int i=1;i<=n;i++){
- F[i][0]=pow(n-1,i);
- }
- for(int i=2;i<=m;i++){
- for(int j=1;j<=n;j++){
- if(j==n) F[i][j]=(F[i-1][j-1]+n*F[i-1][j])%MOD;
- else F[i][j]= (F[i-1][j-1]+(n-1)*F[i-1][j])%MOD;
- }
- }
- printf("%lldn",F[m][n]);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement