poj解题报告——1953

来源:互联网 发布:中国新歌声网络战队 编辑:程序博客网 时间:2024/06/05 22:37

        原本以为题目有点难度,要用排列组合做,但当我写几个数之后,就呵呵了

        比如输入3,结果是000,001,010,100,101,所以答案是5,不能有连续的1;

       再如输入4,结果是0000,0001,0010,0100,1000,0101,1010,1001,答案是8,这让我想到斐波那契数列,优化了解题方法

#include<stdio.h>int a[1010]={0,2,3,5};int main(){int t,count=1;scanf("%d",&t);while(t--){int n;scanf("%d",&n);int i;for(i=3;i<=n;i++)a[i]=a[i-1]+a[i-2];printf("Scenario #%d:\n",count++);printf("%d\n\n",a[n]);}return 0;}


0 0
原创粉丝点击