bzoj1008: [HNOI2008]越狱

思路:首先所有情况就是m^n,然后不可能发生越狱的情况就是第一个有m种选择,第二个要与第一个不同就是m-1种选择,第三个要与第二个不同也是m-1种选择,然后不可能发生越狱的情况数就是m*(m-1)^(n-1),然后用总方案数减去它即可。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
const int p=100003; long long n,m; long long power(long long a,long long k){
long long x=a;a=1;
for (;k;k>>=1,x=x*x%p) if (k&1) a=x*a%p;
return a;
} int main(){
scanf("%lld%lld",&m,&n);
printf("%lld\n",(((power(m,n)-m*power(m-1,n-1)%p)%p)+p)%p);
return 0;
}
上一篇:bootstrap中的data-toggle模态框相关


下一篇:关于ios object-c 类别-分类 category 的静态方法与私有变量,协议 protocol