D1T1 Color
题目描述
一个1*n的方格图形 (不可旋转),用m种颜色填涂每个方格。每个方格只能填涂一种颜色,如果有相邻的方格颜色相同则视为可行方案,问有多少种可行方案。.
输入格式:
两个正整数:m n
输出格式:
一个数:可能的填涂方式总数,mod100003。
输入样例:
2 3
输出样例:
6
样例解释:
6种可能的填涂方式:
0,0,0; 0,0,1; 0,1,1; 1,0,0; 1,1,0; 1,1,1
- 对于10%的数据: m=2,n<33
- 对于另外50%的数据: 1<m<10000,1<n<=106
- 对于100%的数据: 1<=m<=108,1<=n<=1012
分析
- 20分做法:暴力搜索。考场上对于数学题的一般方法。
- 其他思路:暴力打表找规律法。
- NB方法:排列组合【我不会有木有】。
首先利用暴力搜索打一张表,包含了n = 1..8, m = 1..8
的答案。然后开始找规律吧。至于怎么找,那就是仁者见仁智者见智了。我首先设 f(n) 为n个方格m种颜色的可行方案, g(n) 为不可行方案。显然有 g(n)=mn−f(n) 。然后用某种灵感构造一个数列 h(n)=m×h(n−1)+mn−1−h(n−1) 。对照表,发现总有 f(n)=h(n)