Time Limit: 1
Sec
Description
监狱有连续编号为1...N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种。如果相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能发生越狱
Input
输入两个整数M,N.1<=M<=10^8,1<=N<=10^12
Output
可能越狱的状态数,模100003取余
Sample Input
2 3
Sample Output
6
HINT
6种状态为(000)(001)(011)(100)(110)(111)
题解:就是总情况减去不会越狱的情况。。。。。。。。。。。。。。。。。。。。。
ans=M^N-M*(N-1)^(M-1)
AC CODE
program
hy_1008;
const
mo=
100003
;
var
a,n,m:
int64
;
//============================================================================
function
multi(x,z:
int64
):
int64
;
var
y:
int64
;
begin
if
x=
1
then
exit(z
mod
mo);
y:=multi(x
div
2
,z);
if
x
mod
2
=
1
then
multi:=((y*z)
mod
mo*y)
mod
mo
else
multi:=(y*y)
mod
mo;
end
;
//============================================================================
begin
readln(m,n);
a:=(multi(n,m)-(m*multi(n-
1
,m-
1
))
mod
mo+mo)
mod
mo;
writeln
(a);
end
.