【BZOJ1008】越狱(排列组合计数,容斥原理)

题意:

思路:

 

 1 #include<cstdio>
 2 #include<cstdlib>
 3 #include<iostream>
 4 #include<algorithm>
 5 #include<cstring>
 6 #define MOD 100003
 7 typedef long long LL;
 8 using namespace std;
 9   
10 LL n,m,ans;
11   
12 LL pow(LL x,LL y)
13 {
14   LL s=1; LL tmp=x%MOD;
15   while(y)
16   {
17     if(y&1) s=s*tmp%MOD;
18     tmp=tmp*tmp%MOD; 
19     y>>=1;
20   }
21   return s;
22 }    
23   
24 int main()
25 {
26   scanf("%lld%lld",&m,&n);
27   ans=pow(m,n)-m*pow(m-1,n-1);
28   ans=(ans%MOD+MOD)%MOD;
29   printf("%lld",ans);
30   return 0;
31 } 

 

posted on 2018-07-21 09:28  myx12345  阅读(265)  评论(0编辑  收藏  举报

导航