简单DP,ans[i]=(ans[i-1][0]+ans[i-1][1]+ans[i-1][1]) #include<stdio.h> long ans[45][2]; int main() { int cas; scanf("%d",&cas); int num,k,i; ans[1][0]=ans[1][1]=1; for(i=2;i<45;i++) { ans[i][0]=ans[i-1][0]+ans[i-1][1]; ans[i][1]=ans[i-1][0]; } k=1; while(cas--) { scanf("%d",&num); printf("Scenario #%d:/n%d/n/n",k++,ans[num][0]+ans[num][1]); } return 0; }