NYOJ 469 擅长排序的小明

来源:互联网 发布:合肥高铁枢纽 知乎 编辑:程序博客网 时间:2024/06/07 08:28
擅长排列的小明 II时间限制:1000 ms  |  内存限制:65535 KB难度:3描述    小明十分聪明,而且十分擅长排列计算。    有一天小明心血来潮想考考你,他给了你一个正整数n,序列1,2,3,4,5......n满足以下情况的排列:    1、第一个数必须是1    2、相邻两个数之差不大于2    你的任务是给出排列的种数。输入    多组数据。每组数据中输入一个正整数n(n<=55).输出    输出种数。样例输入    4样例输出    4#include<cstdio>#include<iostream>using namespace std;int main(){    int s[56]={0,1,1,2};    int i,n;    for(i=4;i<=55;i++)        s[i]=s[i-1]+s[i-3]+1;    while(scanf("%d",&n)!=EOF)    {        printf("%d\n",s[n]);    }    return 0;}思路详解: f[n]=f[n-3]+f[n-1]+1;(n>3)

0 0
原创粉丝点击