1 #include2 #include 3 using namespace std; 4 long long n,m,ans=1,ans1=1,n1; 5 int main() 6 { 7 scanf("%lld%lld",&m,&n); 8 n--; 9 long long n1=n,k=m-1,m1=m;10 for(;n1;)11 {12 if(n1%2)13 ans=(ans*k)%100003;14 k=(k*k)%100003;15 n1>>=1;16 } 17 n1=n;18 for(;n1;)19 {20 if(n1%2)21 ans1=(ans1*m)%100003;22 m=(m*m)%100003;23 n1>>=1;24 }25 printf("%d",((ans1-ans+100003)*m1)%100003);26 return 0;27 }
显而易见的水题,用总方案数减去相邻不同的方案数