谁能帮我找到吃饭的最佳动态规划算法this problem动态规划问题
在路上,在CCC的竞争对手正在排队等候美味的炸薯条。 N(1≤N≤100)个竞争对手排队进入自助餐厅。
运行CCC的医生V在最后一刻意识到程序员只是讨厌站在使用不同语言的程序员旁边。谢天谢地,CCC只允许使用两种语言:Gnold和Helpfile。此外,竞争对手已经决定,如果他们在一组至少K(1≤K≤6)的竞争对手中,他们将只进入自助餐厅。
V医生决定迭代以下方案:
* He will find a group of K or more competitors who use the same language standing next to each other in line and send them to dinner.
* The remaining competitors will close the gap, potentially putting similar-language competitors together.
所以V医生记录竞争对手的顺序,方便。所有的竞争者都可以用餐吗?如果是这样,请发送给晚餐的竞争者组的最小数量是多少? 输入
第一行包含两个整数N和K. 第二行包含的在线(H表示帮助文件,G表示Gnold)竞争者 输出
输出序列的N个字符,在一个线,这个单数是晚餐形成的最小组数。如果不是所有程序员都可以用餐,则输出-1。
如果你想得到一些答案,你应该适当地标记问题。 'trick'是一个非常无意义的标签。 – 2011-03-04 13:39:32
是的,我试图添加动态编程,但它拒绝它。 – GEP 2011-03-04 16:01:12
@kletoskletos - 这里有使用动态编程的理由吗?由于我们给出了Helpfile程序员的数量和Gnold程序员的数量,我们可以将他们的数字除以由Doctor V指定的组号码。其余的程序员需要被添加到已经组成的组中,吨超过六组。我想这就是动态编程发挥作用的地方。有趣的问题。 – 2011-03-04 17:10:57