社区讨论
求助台阶问题
学术版参与者 3已保存回复 7
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 7 条
- 当前快照
- 1 份
- 快照标识符
- @lo1r9y0x
- 此快照首次捕获于
- 2023/10/23 01:41 2 年前
- 此快照最后确认于
- 2023/11/03 02:20 2 年前
p1192 台阶问题 我看题解有一个大佬写的 有一步不太明白
就是进入循环j之后 两个循环的意思以及里面为什么 要判断i>=j
CPP#include<bits/stdc++.h>
using namespace std;
long long n,k;
long long mad=1000010;
long long dp[10086];
int main()
{
ios::sync_with_stdio(false);
cin>>n>>k;
dp[0]=dp[1]=1;//初始时第一级台阶和第二级台阶要为1
for(int i=2;i<=n;i++)//前两级台阶算过了 不能重复计算 所以从2开始
{
for(int j=1;j<=k;j++)//走内层循判断可以走的级数
{
//遍历所有台阶
if(i>=j)
{
dp[i]=(dp[i]+dp[i-j])%mad;
}
}
}
cout<<dp[n];
return 0;
}
回复
共 7 条回复,欢迎继续交流。
正在加载回复...