nyoj 469 擅长排列的小明 II
来源:互联网 发布:php mktime 编辑:程序博客网 时间:2024/06/02 07:30
擅长排列的小明 II
时间限制:1000 ms | 内存限制:65535 KB
难度:3
- 描述
小明十分聪明,而且十分擅长排列计算。
有一天小明心血来潮想考考你,他给了你一个正整数n,序列1,2,3,4,5......n满足以下情况的排列:
1、第一个数必须是1
2、相邻两个数之差不大于2
你的任务是给出排列的种数。
- 输入
- 多组数据。每组数据中输入一个正整数n(n<=55).
- 输出
- 输出种数。
- 样例输入
4
- 样例输出
4
思路:
当第二个是2的时候,第2个到第n的列相当于第1到第n的排列(f(n-1),第二个为3的时候,后面可以填2和4,5,填4的话这一条就断了(不然2就不能填了),填3的话,第3个到第n个相当于第1个到-3个(f(n-3)),填5是种特殊情况,先单调递增到最大(等差数列),再递减到2(也是等差数列),所以加1.
#include<cstdio>#include<string.h>#include<iostream>#include<algorithm>using namespace std;int main(){ int a[58],N; a[1]=1;a[2]=1;a[3]=2; for(int i=4;i<=56;i++) a[i]=a[i-1]+a[i-3]+1; while(cin>>N) cout<<a[N]<<endl; return 0;}
- NYOJ - 擅长排列的小明 II
- nyoj 擅长排列的小明 II
- NYOJ 469 擅长排列的小明 II
- NYOJ 469 擅长排列的小明 II
- nyoj-469--擅长排列的小明 II
- nyoj 469 擅长排列的小明 II
- nyoj-469-擅长排列的小明II
- NYOJ 469 擅长排列的小明 II
- NYOJ-469 擅长排列的小明 II AC
- 擅长排列的小明 II(nyoj 469)
- Nyoj 469 擅长排列的小明 II
- NYOJ 469 擅长排列的小明 II
- nyoj-469 擅长排列的小明 II
- nyoj——469 擅长排列的小明 II
- NYOJ 469 擅长排列的小明 II
- NYOJ 469 擅长排列的小明 II
- NYOJ 469 擅长排列的小明 II
- NYOJ 469 擅长排列的小明
- 正则表达式
- Android开发者必知的开发资源
- Android仿QQ空间底栏
- struts2+MyBatis框架整合
- 运行程序VS2012弹出的不伦不类的问题
- nyoj 469 擅长排列的小明 II
- 交叉编译工具链的安装与使用
- andriod开发
- C\C++命令规范
- 如何在Eclipse中显示行号
- MFC应用:在视图窗口中间显示计数,功能:点击左键加1右键减1
- 今天起准备写一个java系列文章
- String 报o.s.web.context.ContextLoader - Context initialization failed错误
- warning C4819