23/7/4 算法每日一题
题目:AcWing 4118.狗和猫
你在动物收容所工作,负责喂养动物。
你一共准备了 D 份狗粮和 C 份猫粮。一共有 N 只动物排队等候用餐,有的是狗,有的是猫。当然,也有可能全都是狗或者全都是猫。
我们可以用一个长度为 N 的由大写字母 C 和 D 组成的字符串 S 来表示队列中猫狗的顺序。
如果队列中第 i 只动物是猫,则第 i 个字符为 C。如果队列中第 i 只动物是狗,则第 i 个字符为 D。
动物们严格按照排队顺序依次进食。每只狗吃一份狗粮,每只猫吃一份猫粮。
此外,你还有额外的猫粮。每当一条狗吃完一份狗粮,你就会为猫多提供 M 份猫粮。
每只动物都只会在排在其前面的所有动物都进食完毕后,才肯进食。这也就意味着,当轮到某只动物进食,但是却没有相应的食物时,它和排在它后面的所有动物都会因此无法进食。
请问,在这种情况下,队列中的所有狗能否都得到喂食。
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 半岛Hantou的博客!