买零食
来源:互联网 发布:linux连不通数据库端口 编辑:程序博客网 时间:2024/04/27 22:08
时间限制:5000ms
单点时限:1000ms
内存限制:256MB
描述
小Ho很喜欢在课间去小卖部买零食。然而不幸的是,这个学期他又有在一教的课,而一教的小卖部姐姐以冷若冰霜著称。第一次去一教小卖部买零食的时候,小Ho由于不懂事买了好一大堆东西,被小卖部姐姐给了一个“冷若冰霜”的眼神,食欲都下降了很多。
从那以后,小Ho就学乖了,去小卖部买东西只敢同时买3包以内的零食,并且价格加起来必须是5的整数倍,方便小卖部姐姐算价格。
但是小Ho不擅长计算,所以他把小卖部里所有零食的价格以及他对这个零食的渴望度都告诉了你,希望你能够帮他计算出在不惹恼小卖部姐姐的前提下,能够买到零食的渴望度之和最高是多少?
输入
每个输入文件包含多组测试数据,在每个输入文件的第一行为一个整数Q,表示测试数据的组数。
每组测试数据的第一行为一个正整数N,表示小卖部中零食的数量。
接下来的N行,每行为一个正实数A和一个正整数B,表示这种零食的价格和小Ho对其的渴望度。
一种零食仅有一包。
对于100%的数据,满足1 <= Q <= 10,1<=N<=50,0
#include "iostream"#include "algorithm"using namespace std;int Q, N;int A[50];int B[50];int tempA;int tempB;int best[3];int bests = 0;int n = 0;void dfs(int dep, int best[], int index){ if(dep == N) { if(tempA % 10 == 0 && (tempA /10)%5 == 0) { if(bests < tempB) { bests = tempB; } } return; } if(n <= index) { tempA += A[dep]; tempB += B[dep]; n++; dfs(dep + 1, best, index); tempA -= A[dep]; tempB -= B[dep]; n--; } dfs(dep + 1, best, index);}int main(){ cin >> Q; while(Q) { Q--; cin >> N; int i; float a; int b; for(i=0; i<N; i++) { cin >> a; A[i] = (int)(a * 10); cin >> B[i]; } bests = 0; for(i=0; i<3; i++) best[i] = 0; n = 0; tempA = tempB = 0; if(N == 1) { tempA = A[0]; tempB = B[0]; if(tempA % 10 == 0 && (tempA /10)%5 == 0) bests = tempB; } else if(N == 2) { tempB = B[0] + B[1]; tempA = A[0] + A[1]; if(tempA % 10 == 0 && (tempA /10)%5 == 0) bests = tempB; } else { dfs(0, best, 2); dfs(0, best, 1); dfs(0, best, 0); int bests = best[2] > best[1] ? best[2] : best[1] > best[0] ? best[1] : best[0]; } cout << bests << endl; } return 0;}
0 0
- 买零食
- hihoCoder 买零食
- hihoCoder 1272 买零食
- hihoCoder 1272 买零食
- hihocoder买零食
- hihoCoder - 1272 买零食
- hihocoder #1272 : 买零食
- hihoCoder--139周 买零食
- hiho一下 第139周 买零食
- hiho一下 第139周 买零食
- hiho一下 第139周 买零食
- [offer收割]编程联系赛2-A 买零食
- hiho一下 第139周 《买零食》 多维01背包
- hiho一下 第139周 买零食 动态规划
- [Offer收割]编程练习赛2 hihocoder 1272 买零食 (DFS 或 dp 水题)
- 经典零食!
- 零食王国
- 零食店
- leetcode:Median of Two Sorted Arrays
- 01.android设置应用开机启动
- Httpservletrequest.getParameter()和Httpservletrequest.getAttribute()区别
- 左值右值
- Tomca:8 + Mysql5 + JNDI + Eclipse4 配置数据源
- 买零食
- java静态变量、常量和方法
- unity视频笔记——ngui-菜单开发
- 欧几里得和扩展欧几里得算法
- JAVA操作Redis增删改查
- java学习笔记知识点整理01
- 关于auto_ptr_ref的一点问题
- 使用std::mutex(注意其中get_id()和sleep_for()
- 程序启动过程