题目出自杭电
思路:
ps:看Source知道这是一道递推题,就想着要找规律了-,-
根据数学中的排列组合:
前n-2个已涂好后,涂第n-1个即有2种情况:
1. n-1的色与n-2和1的色都不相同,那么n就是剩下的那个色,没有选择。
即f(n-1)
2. n-1的色与n-2不相同但与1个色一样,那么n的色就有2个色选择.
即f(n-2)*2
综上得:f(n) = f(n-1) + 2*f(n-2); (n>3)
第一次WA代码:递归版
错误提示:Time Limit Exceeded
#include<stdio.h>
__int64 f(int n)
{
if(n==1)
return 3;
if