基本的模板题,统计分子分母中p出现的次数,然后求逆元取模.
//// main.cpp// fzu2020//// Created by 陈加寿 on 15/12/27.// Copyright (c) 2015年 chenhuan001. All rights reserved.//#include#include #include #include #include using namespace std;typedef long long ll;//ax + by = gcd(a,b)//传入固定值a,b.放回 d=gcd(a,b), x , yvoid extendgcd(ll a,ll b,ll &d,ll &x,ll &y){ if(b==0){d=a;x=1;y=0;return;} extendgcd(b,a%b,d,y,x); y-=x*(a/b);}//Ax=1(mod M),gcd(A,M)==1//输入:10^18>=A,M>=1//输出:返回x的范围是[1,M-1]ll GetNi(ll A,ll M){ ll rex=0,rey=0; ll td=0; extendgcd(A,M,td,rex,rey); return (rex%M+M)%M;}int main(int argc, const char * argv[]) { int T; cin>>T; while(T--) { int n,m,p; scanf("%d%d%d",&n,&m,&p); int cnt=0;//统计有多少个因子p long long up=1; for(int i=0;i