fork(1) download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define lli long long int
  4. const lli MOD=1e09+7;
  5. #define rep(i,n) for(int i=0;i<n;i++)
  6. int main(){
  7. int t,n;
  8. cin>>t;
  9. while(t--){
  10. cin>>n;
  11. int k=9;
  12. lli dp[k+1][n+1];
  13. rep(i,k+1)rep(j,n+1)dp[i][j]=0;
  14. rep(i,n+1)dp[0][i]=1;
  15. for(int i=1;i<=k;i++){
  16. dp[i][1]=1;// having length 1 ,total lucky numbers is 1 for each i = 1,2,3,4,5,6,7,8,9
  17. }
  18. for(int j=2;j<=n;j++){//having length varying from 2 to n
  19. for(int i=1;i<=k;i++){// for i=1,2,3,4,5,6,7,8,9
  20. if(i==k)dp[i][j]=dp[i-1][j-1]%MOD;//9 has only 8 no next,9->8
  21. else dp[i][j]=(dp[i-1][j-1]+dp[i+1][j-1])%MOD;//others has 2 8->7 and 8->9
  22. }
  23. }
  24. lli ans=0;
  25. for(int i=1;i<=k;i++){
  26. ans+=dp[i][n];
  27. ans%=MOD;
  28. }
  29. if(n==1)ans=(ans+1)%MOD;//if n==1 we include 0
  30. cout<<ans%MOD<<"\n";
  31. }
  32. return 0;
  33. }
Runtime error #stdin #stdout 0s 3456KB
stdin
Standard input is empty
stdout
Standard output is empty