栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

zoj 3557 How Many Sets II

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

zoj 3557 How Many Sets II

#include <stdio.h>#include <cstring>#include <algorithm>using namespace std;typedef long long LL;LL n,m,p;LL ex_gcd(LL a,LL b,LL &x,LL &y){if (b==0){x=1;y=0;return a;}LL t,ret;ret=ex_gcd(b,a%b,x,y);t=x;x=y;y=t-a/b*y;return ret;}LL inv(LL a,LL p){LL x,y;ex_gcd(a,p,x,y);return (x%p+p)%p;}LL cmp(LL n,LL m,LL p){if (n<m) return 0;LL sum=1;for (int i=1;i<=m;i++)sum=sum*(n-i+1)%p;for (int i=1;i<=m;i++)sum=sum*inv(i,p)%p;return sum;}LL solve(LL n,LL m,LL p){LL ret=1;while(n && m && ret){ret=ret*cmp(n%p, m%p, p)%p;n/=p;m/=p;}return ret;}int main(){while(scanf("%lld%lld%lld",&n,&m,&p)!=EOF){if (n+1-m<m) printf("0n");elseprintf("%lldn",solve(n+1-m,m,p));}return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/377185.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号