[HNOI2008]越狱题解
-
题目描述
监狱有 n 个房间,每个房间关押一个犯人,有 m 种宗教,每个犯人会信仰其中一种。如果相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能发生越狱。
答案对 100,003 取模。
-
思路分析
乍一看好像很难直接求出方案数,所以正难则反,我们不妨计算不满足条件的方案数,用总方案数减去便是答案。
第一个人有 m 种选择,与他相邻的第二个人便又 m-1 种选择,相邻的第三个人便也有 m-1 种选择,以此类推…所以答案便是:
m^n-m*(m-1)^{n-1}附上代码:
m,n=map(int,input().split()) ans=(pow(m,n)-m*pow(m-1,n-1))%100003 print(ans)
-