记录编号 186873 评测结果 AAAAAAAAAA
题目名称 Asm.Def大点兵 最终得分 100
用户昵称 Gravatarcstdio 是否通过 通过
代码语言 C++ 运行时间 0.338 s
提交时间 2015-09-15 19:53:39 内存使用 0.31 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
typedef long long LL;
inline LL quick_mul1(LL x,LL y,LL MOD){
	x=x%MOD,y=y%MOD;
	return ((x*y-(LL)(((long double)x*y+0.5)/MOD)*MOD)%MOD+MOD)%MOD;
}
LL quick_mul(LL a,LL n,LL m)
{
    LL ans=0;
    while(n)
    {
        if(n&1) ans=(ans+a)%m;
        a=(a+a)%m;
        n>>=1;
    }
    return ans;
}
LL calc_P(LL n,LL m,LL MOD)
{
    LL ans=1;
    for(LL i=0;i<m;i++)
    {
        ans=quick_mul(ans,n-i,MOD);
    }
    return ans;
}
int main()
{
    freopen("appoint.in","r",stdin);
    freopen("appoint.out","w",stdout);
    LL n,m,mod;
    cin>>n>>m>>mod;
    cout<<calc_P(n,m,mod)<<endl;
    return 0;
}