6162 Meronri爬楼梯
时间限制: 1 s
空间限制: 2000 KB
题目等级 : 青铜 Bronze
题解
查看运行结果
题目描述 Description
一天,Meronri发现了一个n阶的楼梯,在这个有魔力的楼梯上,Meronri会轻功,所以她一次想爬多少级台阶都可以。Meronri脑子有点轻微的不正常,所以她想知道有多少种爬楼梯的方法。
因为Meronri要去楼梯上找宝藏,所以这个艰巨的任务就落在了你身上。
输入描述 Input Description
一行一个整数n
输出描述 Output Description
一行一个方案数s
样例输入 Sample Input
3
样例输出 Sample Output
4
数据范围及提示 Data Size & Hint
0<=n<=64
以下分别是1~4的情况
1
1 1
2
1 1 1
1 2
2 1
3
1 1 1 1
1 2 1
2 1 1
3 1
1 1 2
2 2
1 3
4
类似于codevs 1742 爬楼梯
卡在了输出上。直接cout就好了。
以后要注意把最大值输进去试一下。
这个题其实可以打表找规律……
答案是2^n-1
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int maxn=10001;
unsigned long long dp[maxn];
long long n;
int main()
{
scanf("%d",&n);
dp[0]=1;
dp[1]=1;
for(int i=2;i<=n;i++)
{
for(int j=n-1;j>=0;j--)
dp[i]+=dp[j];
}
//printf("%I64u\n",dp[n]);
printf("%llu\n",dp[n]);
return 0;
}