首页 > 代码库 > BZOJ 1008 越狱 (组合数学)
BZOJ 1008 越狱 (组合数学)
题解:正难则反,从总数中减去全部相邻不相同的数目就是答案,n*(n-1)^(m-1):第一个房间有n中染色方案,剩下m-1个房间均只有n-1种染色方案,用总数减就是答案。
#include <cstdio>const int mod=100003; typedef long long LL; LL n,m; LL power(LL a,LL b){ LL ans=1; a%=mod; while(b){ if(b&1)ans=ans*a%mod; a=a*a%mod,b>>=1; } return ans; } int main(){ scanf("%lld %lld",&n,&m); printf("%lld\n",(power(n,m)-n%mod*power(n-1,m-1)%mod+mod)%mod); return 0; }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。