题意: 给你那张牌,牌的花色和数字只要任意一样一样就能合并。每次只能从最右边开始操作,要么覆盖n-1位置,要么覆盖 n-3位置。
问你最后能否全部合并成一堆。
题解: 首先想到的是bfs 但是不行,超限了。
那只能dp ,最后一个状态只能是前1个或是前3个合并而来,
dp【n】=dp【n+1】||dp【n+3】;
标记用map直接映射。
如果走了这一步,就要把这一步的值覆盖掉。
这一步走不通恢复原值。所以要再加一个标记string
题意: 给你那张牌,牌的花色和数字只要任意一样一样就能合并。每次只能从最右边开始操作,要么覆盖n-1位置,要么覆盖 n-3位置。
问你最后能否全部合并成一堆。
题解: 首先想到的是bfs 但是不行,超限了。
那只能dp ,最后一个状态只能是前1个或是前3个合并而来,
dp【n】=dp【n+1】||dp【n+3】;
标记用map直接映射。
如果走了这一步,就要把这一步的值覆盖掉。
这一步走不通恢复原值。所以要再加一个标记string