I have submitted the below code for tiling Problem 2:
def tileBU(n, m): dp =*(n+1) for i in range(1, n + 1): if i > m: dp[i] = dp[i-1] + dp[i-m] elif i < m: dp[i] = 1 else: dp[i] = 2 return dp[n] MOD = (10**9) + 7 T = int(input()) for i in range(T): n,m = map(int,input().split()) print(tileBU(n,m)%MOD)
And this code for Counting no of binary strings:
T = int(input()) result =  for i in range(T): n = int(input()) if n == 1: result.append(2) elif n == 2: result.append(3) else: a,b = 2,3 for j in range(2,n): a,b = b,a+b result.append(b) for i in result: print(i)
The first code is giving TLE despite it is the most optimized version of the problem.
The second code is able to run test case -3 but for the remaining 2 test cases it is giving “run-error”.
Someone, Please Explain.