SQRBR - Square Brackets
You are given:
- a positive integer n,
- an integer k, 1<=k<=n,
- an increasing sequence of k integers 0 < s1 < s2 < ... < sk <= 2n.
What is the number of proper bracket expressions of length 2n with opening brackets appearing in positions s1, s2 ... sk?
Illustration
Several proper bracket expressions:
[[]][[[]][]] [[[][]]][][[]]
An improper bracket expression:
[[[][]]][]][[]]
There is exactly one proper expression of length 8 with opening brackets in positions 2, 5 and 7.
Task
Write a program which for each data set from a sequence of several data sets:
- reads integers n, k and an increasing sequence of k integers from input,
- computes the number of proper bracket expressions of length 2n with opening brackets appearing at positions s1,s2, ... sk,
- writes the result to output.
Input
The first line of the input file contains one integer d, 1 <= d <= 10, which is the number of data sets. The data sets follow. Each data set occupies two lines of the input file. The first line contains two integers n and k separated by single space, 1 <= n <= 19, 1 <= k <= n. The second line contains an increasing sequence of k integers from the interval [1;2n] separated by single spaces.
Output
The i-th line of output should contain one integer - the number of proper bracket expressions of length 2n with opening brackets appearing at positions s1, s2 ... sk.
Example
Sample input: 5 1 1 1 1 1 2 2 1 1 3 1 2 4 2 5 7 Sample output: 1 0 2 3 2
hide comments
prasoonbatham:
2017-01-14 13:25:35
good problem :) |
|
vaibhav goyal:
2016-08-21 17:17:43
Nice DP problem .. .enjoyed solving it...some good thinking is required :D |
|
nonushikhar:
2016-06-27 20:12:45
nice problem :) |
|
Nguyen Cuong:
2016-05-29 08:45:24
The idea is fairly similar to MREPLBRC if you've done MREPLBRC first :) |
|
Sumit Vohra:
2016-01-24 12:59:08
Aur Bhai Savil kaisa hai
|
|
Mit:
2015-12-13 20:14:47
good question. do try MPILOT after this as someone here already mentioned. |
|
:.Mohib.::
2015-11-10 08:45:48
A very nice question....!! |
|
Anoop Narang:
2015-10-14 10:00:18
how come answer for last 2nd case is 3. I can only count 2 ways. |
|
priyank:
2015-10-07 20:17:01
nice dp :) My 150th |
|
xceptor:
2015-09-12 21:04:45
Nice Problem ! |
Added by: | adrian |
Date: | 2004-06-22 |
Time limit: | 3s |
Source limit: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Languages: | All |
Resource: | III Polish Collegiate Team Programming Contest (AMPPZ), 1998 |