Roy and Little Mario
Practice
4 (2 votes)
Dynamic programming
Combinatorics
Ad Hoc
Medium
Algorithms
Mathematics
Open
Approved
Problem
50% Success 1374 Attempts 30 Points 2s Time Limit 256MB Memory 1024 KB Max Code

Roy has played a lot of Mario that he got bored of playing it again and again. So now he wants to design a stage of Mario game.

Right now he is simply designing a group of walls using bricks that little Mario has to cross over. Little Mario cannot jump more than 3 bricks' height, so Roy cannot create a wall of height more than 3.

Roy has N number of bricks. Roy wants to make a group of walls such that height of no single wall exceeds 3.

For example if N = 8, one of the group of walls can be as follows:

enter image description here

Now Roy wonders how many different groups of walls can he generate for a given number of bricks. (See Sample Test Case Explanation for clarification)

Input:
First line contains integer T, number of Test Cases. Next T lines each will contain integer N, number of bricks Roy has.

Output:
Print an integer in new line for each test case, number of different groups of walls.

Since answer can be very large, print it modulo 1000000007

Constraints:
1<=T<=10
1<=N<=100000

Sample Test Case Explanation: For N = 3

enter image description here

Please login to use the editor

You need to be logged in to access the code editor

Loading...

Please wait while we load the editor

Loading...
Results
Custom Input
Run your code to see the output
Submissions
Please login to view your submissions
Similar Problems
Points:30
2 votes
Tags:
MathematicsMediumTreeApproved
Points:30
Tags:
C++CountingMathSpecial NumbersCombinatorics
Points:30
2 votes
Tags:
Medium