[HNOI2008]越狱 题解
作者:互联网
我们知道:相邻房间的犯人的宗教相同的方案数=总方案数-相邻房间的犯人的宗教不相同的方案数;
那么所有方案数是m^n;
我们假设第一个房间有m中取值方案,而对于每个房间(非第一个)都有m-1个取值方案,所以总方案是(m-1)^(n-1)*m;
那么答案就显而易见了;
#include <bits/stdc++.h> #define p 100003 using namespace std; long long KSM(long long a,long long b) { long long res=1; while(b){ if(b&1) res=res*a%p; a=a*a%p; b/=2; } return res%p; } int main() { long long n,m; cin>>m>>n; long long ans1=m*KSM(m-1,n-1)%p; long long ans2=KSM(m,n)%p; long long ans=((ans2-ans1)%p+p)%p; cout<<ans; }
标签:方案,题解,房间,越狱,long,ans1,KSM,res,HNOI2008 来源: https://www.cnblogs.com/kamimxr/p/11823170.html