1 #include<cstdio> 2 #include<iostream> 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 }
显而易见的水题,用总方案数减去相邻不同的方案数