知识点
一 . 加法原理与乘法原理
加法原理:分类思想。一个事件的发生,分为几类事件的发生,通俗的说是好几种情况的发生,通常几类事情之间不会相互影响。
乘法原理:分步思想。一个事件的发生,分为几个子事件分步发生,即每个子事件按顺序发生,子事件是独立的,内部发生的概率一样。
一 . 加法原理与乘法原理
(一)加法原理
(二)乘法原理
思路:在当前条件下,能导致越狱的情况很多,但是不能越狱的情况,只需保证相邻的两个房间的犯人宗教不同即可。总情况减去不能越狱的情况就是能导致越狱的情况。
在不考虑能否越狱的情况下,有n个房间,m种宗教,总共有种情况。保证不能越狱的条件下,第一个房间的犯人可以有m种宗教的选择,后面 n-1 个房间的犯人只需保证与前一个房间的宗教不同即可,有 m-1 种情况,总共有
种情况。那么最后得到可能发生越狱的情况总数为
种。最后,在此题中,指数增长会导致循环超时,需要进行快速幂优化。
未优化代码(30分):
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#define ll long long
#define re register
using namespace std;
const int mod=100003;
ll int n,m,res1=1; //res1用于