(题目求助)多多食谱方案数

今天笔试遇到的一个题,设定有点复杂。大家可以帮忙看看有没有现成的题解(类似的也可以)或者给一点思路吗

题目描述

多多每天会吃两顿饭,分别是午饭和晚饭,每一顿可以点一个外卖。在未来n天中,多多有m元的预算去给自己点外卖。外卖共有4种菜可以选择,分别是清炒菜心(1元),西红柿炒鸡蛋(2元),回锅肉(3元)和鱼香肉丝(3元)。其中

  • 多多不想连续两顿吃同一道菜
  • 在连续的两天中,每道菜多多最多只想吃两次
    • 这里是连续的两个自然天,不包含第一天晚上到第三天中午这样的情况
  • 考虑到清炒菜心比较清淡,多多最多在连续三顿里吃一次清炒菜心

求多多的食谱方案有多少种(允许顺序不同)

#笔试##笔试题目#
全部评论
感觉是有诸多限制条件的全排列问题,可以用递归的思想解决。 核心点如下: 1,共n天2n顿饭,全部安排好,即为一种方案 2,共m元预算,超出预算则踢出次方案 3,连续两顿吃同样的菜的方案踢除 4,连续两天吃同样的菜三次的方案踢除 5,最近三顿里有两次菜心踢除 大概类似于递归剪枝。细节上尽量优化,减少复杂度。 这个跟N皇后问题模型类似: 1,放n行皇后替换成了安排2n顿饭。(安排到最后一个,就是一种答案) 2,互斥条件从皇后攻击规则改成了上面列的2-5条
点赞 回复 分享
发布于 2022-07-01 06:19

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务