不相邻问题

复制代码
/*给出n个位置,每个位置可以填充0和1,但有条件限制:
1不能相邻。求满足条件的序列的所有可能情况。*/
#include<iostream>
using namespace std;
__int64 a[47][2];
int main()
{
    int T,n,i,s;
    a[1][0]=1;a[1][1]=1;
    /*按上面的递推公式求出n从1到46的结果存储在数组a[47][2]中。*/
    for(i=2;i<=46;i++)
    {
        a[i][0] = a[i-1][0]+a[i-1][1];
        a[i][1]=a[i-1][0];
    }
    scanf("%d",&T);
    s=0;
    while(T--)
    {
        s++;
        scanf("%d",&n);
        printf("Scenario#%d\n",s);
        printf("%I64d\n",a[n+1][0]);
        if(T)
            printf("\n");
    }
    return 0;
}
复制代码
posted @   myth_HG  阅读(198)  评论(0编辑  收藏  举报
编辑推荐:
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
阅读排行:
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 数据库服务器 SQL Server 版本升级公告
· 程序员常用高效实用工具推荐,办公效率提升利器!
· C#/.NET/.NET Core技术前沿周刊 | 第 23 期(2025年1.20-1.26)
点击右上角即可分享
微信分享提示