12 Sample Output38 Authorlcy当第一个字符是E或 F时后面只要是合格的字符串n-1都可以满足n是合格的字符串 此时字符串总类数f(n)=2*f(n-1);当第一个字符是O时,后面是合格的字符串还不行,所以要考虑第二个字符串,当第二个字符串是E或F时,后面是合格的字符串n-2就能够满足n是合格的字符串,此时字符串总类数f(n)=2*f(n-2)上面情况都考虑完全了,f(n)=2*f(n-1)+2*f(n-2);这就是字符串总数的递归式要注意数据类型,int还是小了#include<stdio.h>_int64 a[100];_int64 f(int n){if(a[n]>0) return a[n];if(n==1)return 3;if(n==2)return 8;if(n>2)a[n]=2*(f(n-1)+f(n-2));return a[n];}int main(){int n;while(~scanf("%d",&n))printf("%I64d/n",f(n));}
新闻热点
疑难解答