题目描述
监狱有连续编号为1…N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种。如果相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能发生越狱。
输入输出格式
输入格式:
输入两个整数M,N。1<=M<=108,1<=N<=1012
输出格式:
可能越狱的状态数,模100003取余
输入输出样例
输入样例:
2 3
输出样例:
6
说明
6种状态为(000)(001)(011)(100)(110)(111)
这是一道长得很DP的快速幂。
第一个犯人能信m种宗教,为了不与第一个犯人的宗教重复,第二个犯人只能信m-1种宗教,为了不与第二个犯人的宗教重复,第三个犯人也只能信m-1种宗教,如此类推……
因此我们用所有方案数 mn 减去合法的方案数 (m-1)n-1 即可得到不合法的方案数,也就是答案。
于是我们很开心地开始敲代码,敲吧,TLE在等着你呢(哈哈)。
再看一看题目