题目地址
LeetCode#756 Pyramid Transition Matrix
题目描述
We are stacking blocks to form a pyramid. Each block has a color which is a one letter string, like 'Z'
.
For every block of color C
we place not in the bottom row, we are placing it on top of a left block of color A
and right block of color B
. We are allowed to place the block there only if (A, B, C)
is an allowed triple.
We start with a bottom row of bottom
, represented as a single string. We also start with a list of allowed triples allowed
. Each allowed triple is represented as a string of length 3.
Return true if we can build the pyramid all the way to the top, otherwise false.
Example 1:
1 | Input: bottom = "XYZ", allowed = ["XYD", "YZE", "DEA", "FFF"] |
Example 2:
1 | Input: bottom = "XXYX", allowed = ["XXX", "XXY", "XYX", "XYY", "YXZ"] |
Note:
bottom
will be a string with length in range[2, 8]
.allowed
will have length in range[0, 200]
.- Letters in all strings will be chosen from the set
{'A', 'B', 'C', 'D', 'E', 'F', 'G'}
.
解题思路
DP
解题代码【.CPP】
1 | class Solution { |