LNTILING - Long Tiling
There is a long gap with fixed width of 1 unit in the ground with N + 1 vertices, which is composed of N segments with same width. A segment connects to at most one segment on its head and tail vertically or horizontally, that is, it can connect to at most two segments. The long gap formed by those segments is simply a open polyline. Duck doesn't like the gap, he is given a set of tiles and wants to know if the long gap can be tiled by the limited number of tiles. There are M distinct tiles, each with Ki and has Ci segments. It is not necessary to use all tiles, and Duck can rotate the tile to fill the gap. It is guaranteed that both long gap and tiles are open polyline with fixed width of 1 unit. Can you help him check if he is possible to do so.
Input
The first line is the number of test cases T. (1 ≤ T ≤ 25)
For each test case, it starts with the number of segments of the long gap N. (1 ≤ N ≤ 20)
Following N lines, each consisting of one uppercase character W1i, either up (U), down(D), left(L) or right(R), and one integer F1i, indicating the direction to turn to and the length of that segment. (1 ≤ ∑ni=1 F1i ≤ 100)
Next line is the number of distinct tiles M. (1 ≤ M ≤ 15)
For each distinct tile, it starts with two integers, the available amount of that tile Ki and number of segments Ci. (1 ≤ Ki, ∑Mi=1 Ki ≤ 15, 1 ≤ Ci ≤ 20)
Following Ci lines, same as above, one uppercase character W2i and one integer F2i indicating the direction and the length of that segment.
Output
If it is possible to tile the gap with given tiles, print "YES", else "NO". (without quotes)
Example
Input: 2 16 L 4 U 2 L 7 U 2 L 4 D 4 R 2 D 2 L 3 D 2 R 6 U 1 R 2 D 4 L 3 U 1 7 2 5 D 6 L 2 U 3 L 2 D 2 1 2 D 7 L 2 2 2 D 2 R 2 1 1 R 8 3 1 U 3 4 1 D 4 2 2 R 3 U 1 2 R 6 U 2 2 1 2 D 3 L 2 1 1 U 2 Output: YES NO
Explanation
hide comments
fedikus:
2020-05-05 12:23:00
Can there be 2 consecutive segments with same direction?
|
|
Simes:
2019-08-24 21:08:31
Thoroughly enjoyed solving it! Many thanks for creating the problem. |
|
:D:
2019-07-04 11:56:21
Very nice DP problem. |
|
Aleksei:
2019-06-12 17:28:37
Hello.
|
|
:D:
2018-10-26 12:32:21
Can the tiles also be flipped or only rotated?
|
Added by: | him0727 |
Date: | 2018-10-25 |
Time limit: | 0.200s-1s |
Source limit: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Languages: | All |
Resource: | Own problem |