JOIN
Get Time

   Problem Statement  

 Problem Statement for LittleElephantAndPermutationDiv1

Problem Statement

    

This problem statement contains superscripts and/or subscripts. These may not display properly outside the applet.

Little Elephant from the Zoo of Lviv likes permutations. A permutation of size N is a sequence (a1, ..., aN) that contains each of the numbers from 1 to N exactly once. For example, (3,1,4,5,2) is a permutation of size 5.

Given two permutations A = (a1, ..., aN) and B = (b1, ..., bN), the value magic(A,B) is defined as follows: magic(A,B) = max(a1,b1) + max(a2,b2) + ... + max(aN,bN).

You are given the int N. You are also given another int K. Let X be the number of pairs (A,B) such that both A and B are permutations of size N, and magic(A,B) is greater than or equal to K. (Note that A and B are not required to be distinct.) Return the value (X modulo 1,000,000,007).

 

Definition

    
Class:LittleElephantAndPermutationDiv1
Method:getNumber
Parameters:int, int
Returns:int
Method signature:int getNumber(int N, int K)
(be sure your method is public)
    
 

Constraints

-N will be between 1 and 50, inclusive.
-K will be between 1 and 2500, inclusive.
 

Examples

0)
    
1
1
Returns: 1
For N=1 the only pair of permutations is ( (1), (1) ). The magic of this pair of permutations is 1, so we count it.
1)
    
2
1
Returns: 4
Now there are four possible pairs of permutations. They are shown below, along with their magic value.
  • magic( (1,2), (1,2) ) = 1+2 = 3
  • magic( (1,2), (2,1) ) = 2+2 = 4
  • magic( (2,1), (1,2) ) = 2+2 = 4
  • magic( (2,1), (2,1) ) = 2+1 = 3
In all four cases the magic value is greater than or equal to K.
2)
    
3
8
Returns: 18
3)
    
10
74
Returns: 484682624
4)
    
50
1000
Returns: 539792695

This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2010, TopCoder, Inc. All rights reserved.

This problem was used for:
       Single Round Match 592 Round 1 - Division I, Level Two