You are on page 1of 1

#include <iostream>

#include<stdio.h>
using namespace std;
// A recursive function used by countWays
unsigned long long countWaysUtil(int n, int m)
{
unsigned long long res[n];
res[0] = 1; res[1] = 1;
for (unsigned long long i=2; i<n; i++)
{
res[i] = 0;
for (unsigned long long j=1; j<=m && j<=i; j++)
res[i] += res[i-j];
}
return res[n-1];
}
// Returns number of ways to reach s'th stair
unsigned long long countWays(unsigned long long s, int m)
{
return countWaysUtil(s+1, m);
}
// Driver program to test above functions
int main ()
{
unsigned long long t,i,n;
cin>>t;
while(i<t)
{ cin>>n;
int s=3;
unsigned long long m=countWays(n,s);
cout<<m;
}
return 0;
}

You might also like