#include<iostream> (720)#include<cstdio> using namespace std; int main() { int n; scanf("%d", &n); long long dp[n + 1]; dp[1] = 1; dp[2] = 2; dp[3] = 4; for(int i = 4; i <= n; i++){ dp[i] = dp[i - 1] + dp[i - 2] + dp[i - 3]; } printf("%lld", dp[n]); return 0; }
#include<stdio.h>
#include<stdlib.h>
void main(){
int stepNum,sum;
scanf("%d",&stepNum);
sum=stepToN(stepNum);
printf("total methods:"+sum);
}
int stepToN(int stepNum){
int totalmeth=0
if(stepNum<0)
return 0;
if(stepNum==1)
totalmeth=1;
if(stepNum==2)
totalmeth=2;
if(stepNum==3)
totalmeth=4;
else
totalmeth=stepToN(stepNum-1)+stepToN(stepNum-2)+stepToN(stepNum-3);
return totalmeth;
}
int taijie(int n,std::list<std::list<int>> & o) { o.clear(); std::list<int> l; if ( n<=0 ) { return 0; } else if ( n==1 ) { l.push_back(1); o.push_back(l); return 1; } std::list<std::list<int>> & o1; taijie(n-1,o1); for ( std::list<std::list<int>>::iterator it=o1.begin();it!=o1.end();++it ) { (*it).push_front(1); o.push_back(*it); } taijie(n-2,o1); for ( std::list<std::list<int>>::iterator it=o1.begin();it!=o1.end();++it ) { (*it).push_front(2); o.push_back(*it); } taijie(n-3,o1); for ( std::list<std::list<int>>::iterator it=o1.begin();it!=o1.end();++it ) { (*it).push_front(3); o.push_back(*it); } return o.size(); }