求助台阶问题
  • 板块学术版
  • 楼主so_yaya
  • 当前回复7
  • 已保存回复7
  • 发布时间2023/8/21 08:59
  • 上次更新2023/11/3 02:20:00
查看原帖
求助台阶问题
920133
so_yaya楼主2023/8/21 08:59

p1192 台阶问题 我看题解有一个大佬写的 有一步不太明白 就是进入循环j之后 两个循环的意思以及里面为什么 要判断i>=j

#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;
} 
2023/8/21 08:59
加载中...