poj 1953 world cup noise

Posted joker marvelous

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了poj 1953 world cup noise相关的知识,希望对你有一定的参考价值。

题目大意:给出一个数n,求n位二进制中有多少个数不包含相邻的1。

思路:推出前3项后就可以发现满足斐波那契数列。先用数组记录下1~n位的结果,再通过输入的值访问相应下标的元素的值即可。

#include<iostream>
#include<stdio.h>
#include<string.h>

using namespace std;
int bit[50];


void calc()
{
    int i;
    bit[1]=2;
    bit[2]=3;//将特殊的两个值记录
    for(i=3;i<50;i++)
        bit[i]=bit[i-1]+bit[i-2];//先产生50位的结果,由于用数组记录,所以不需要通过递归进行多余的重复计算(动态规划)
    /*if(a[m]!=0)
        cnt=a[m-1]+a[m-2];
    else{
        cnt=calc(m-1)+calc(m-2);
        a[k++]=cnt;*/



}
int main(){
    int t,flag=0;
    cin>>t;
    calc();
    while(t--)
    {
        int s;
        cin>>s;
        flag++;

        printf("Scenario #%d:\n",flag);
        printf("%d\n\n",bit[s]);//访问相应的下标即可

    }
    return 0;
}

 

以上是关于poj 1953 world cup noise的主要内容,如果未能解决你的问题,请参考以下文章

World Cup(思维+模拟)

1011. World Cup Betting (20)

1011. World Cup Betting (20)

2022世界杯开源项目实战使用docker部署world-cup-2022-cli-dashboard数据看板工具

PTA-1011——World Cup Betting

1011. World Cup Betting