百度空间 | 百度首页 
 
查看文章
 
2006年百度之星程序设计大赛初赛题目1
2007-05-14 17:30

饭团的烦恼

“午餐饭团“是百度内部参与人数最多的民间组织。

同一个部门的,同一间大学的,同一年出生的,用同一种型号电脑的,员工们总是以各种理由,各种借口组织各种长久的,临时的饭团。

参加饭团,不仅可以以优惠的价格尝到更加丰富的菜式,还可以在吃饭的时候和同事们唠唠嗑,吹吹水,增进感情。

但是,随着百度的员工越来越多,各个饭团的管理随即变得烦杂。特别是为了照顾员工们越来越挑剔的胃口,饭团的点菜负责人背负的责任越来越大。现在,这个重担落在百度之星的肩上,因为,你们将要为所有的百度饭团设计一个自动点菜的算法。

饭团点菜的需求如下:

1.  经济是我们要考虑的一个因素,既要充分利用百度员工的午餐补助,又不能铺张浪费。因此,我们希望最后的人均费用越接近12元越好。

2.  菜式丰富是我们要考虑的另一个因素。为简单起见,我们将各种菜肴的属性归结为荤菜,素菜,辛辣,清淡,并且每个菜只能点一次。

3.  请紧记,百度饭团在各大餐馆享受8折优惠。

输入数据描述如下:

第一行包含三个整数NMK0<N<=160<M<=N0<K<=12),分别表示菜单上菜的数目,饭团需要点的菜的数目,就餐的人数。

紧接着N行,每行的格式如下:

菜名(长度不超过20个字符) 价格(原价,整数) 是否荤菜(1表示是,0表示否) 是否辛辣(1表示是,0表示否)

例:

水煮鱼 30  1  1

紧接着是a b c d 四个整数,分别表示需要点的荤菜,素菜,辛辣,清淡菜的数目。

输出数据:

对于每一测试数据,输出数据包含M+1行,前M行每行包含一个菜名(按菜名在原菜单的顺序排序)。第M+1行是人均消费,结果保留两位小数。

说明:

1.结果菜单的数目应该恰好为M,荤菜,素菜,辛辣,清淡菜的数目恰好为abcd。在满足这样的前提下,选择人均消费最接近12元的点菜方案。题目数据保证有且仅有一个解。

2.每组测试数据的结果用一个空行隔开。末尾不要有多余的空行。

输入样例

3 2 2

水煮鱼 30  1  1

口水鸡 18 1 1

清炖豆腐 12 0 0

1 1 1 1

输出样例

口水鸡

清炖豆腐

12.00

时间要求:1S之内


类别:百度之星历年题目 | 添加到搜藏 | 浏览() | 评论 (5)
 
最近读者:
 
网友评论:
1
2007-05-28 11:35 | 回复
#ifndef _FOOD_ #define _FOOD_ #include #include struct FoodInfo { std::string foodId; unsigned int price; bool ismeat; bool ishot; }; class TextOp; class Food { public: Food(); ~Food(); int Initialize(TextOp test); int BackTrack(unsigned int t); private: bool OK(const FoodInfo& info); void ShowSeleteFood(); void IncFood(const FoodInfo& info); void DecFood(const FoodInfo& info); private: size_t m_foodNum ; size_t m_needNum; size_t m_peopleNum; size_t m_price; float m_avePrice; size_t m_curFoodNum; std::vector m_foodInfo; std::vector m_foodLimit; std::vector m_seleteInfo; }; #endif
 
2
2007-05-28 11:38 | 回复
#include "Food.h" #include #include #include "TextOp.h" using namespace std; Food::Food(): m_foodNum(0), m_needNum(0), m_peopleNum(0), m_price(0), m_avePrice(0.0), m_curFoodNum(0) {} Food::~Food() {} int Food::Initialize(TextOp test) { m_foodInfo.clear(); m_foodLimit.clear(); m_seleteInfo.clear(); m_curFoodNum = 0;
 
3
2007-05-28 11:41 | 回复
太难贴了~~~~ 不搞了
 
4
2008-08-03 11:32 | 回复
关注百度之星~~~~~~~~!
 
5
2008-08-04 13:13 | 回复
看一下,留下脚印
 
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu