着色问题,递推,当超过3个块时,规律明显,此时可以是n-2的头尾重复+与头尾不同颜色,也可以是n-1+与头尾均不相同眼色情况。经典递推。注意long long。
#include <stdio.h> #define MAXNUM 52 long long kinds[MAXNUM] = {,,,}; int main() {
int n;
int i; for (i=; i<MAXNUM; ++i)
kinds[i] = kinds[i-]* + kinds[i-]; while (scanf("%d", &n) != EOF) {
printf("%I64d\n", kinds[n]);
} return ;
}