[BZOJ Contest-2017省队十连测推广赛1·T2][BZOJ4766][完全二分图的生成树个数]文艺计算姬

公式题

答案是 nm1mn1

快速幂的过程中会爆long long,所以还要打快速乘

#include 
#include 
#include 

using namespace std;

typedef long long ll;

ll n,m,p;

inline ll mul(ll x,ll y,ll p){
  if(x0;
  while(y){
    if(y&1) r=(r+x)%p;
    x=(x+x)%p;
    y>>=1;
  }
  return r;
}

inline ll pow(ll x,ll y,ll p){
  x%=p; ll r=1;
  while(y){
    if(y&1) r=mul(r,x,p);
    x=mul(x,x,p);
    y>>=1;
  }
  return r;
}

int main(){
  cin>>n>>m>>p;
  printf("%lld\n",mul(pow(n,m-1,p),pow(m,n-1,p),p));
  return 0;
}

你可能感兴趣的:(二分图)