记录编号 210109 评测结果 AAAAAAAAAA
题目名称 Asm.Def大点兵 最终得分 100
用户昵称 Gravatarsxysxy 是否通过 通过
代码语言 C++ 运行时间 0.345 s
提交时间 2015-11-25 14:01:24 内存使用 0.31 MiB
显示代码纯文本
#include <iostream>
#include <algorithm>
#include <functional>
#include <queue>
#include <deque>
#include <list>
#include <set>
#include <stack>
#include <fstream>
#include <vector> 
using namespace std;
typedef long long LL;

LL quick_mul(LL a, LL b, LL p)
{
	long long ans = 0;
	while(b)
	{
		if(b & 1)
		{
			b--;
			ans = (ans+a)%p;
		}
		b >>= 1;
		a = (a+a)%p;
	}
	return ans;
}

int main()
{
	LL n,m,p;
	LL ans = 1;
	LL i;

	freopen("appoint.in", "r", stdin);
	freopen("appoint.out", "w", stdout);
	cin >> n >> m >> p;
	for(i = 0; i < m; i++)
	{
		ans = quick_mul(ans, n-i, p);
	}
	cout << ans << endl;
}