计蒜客—爱奇异的自制节目
2015-12-05 00:41
295 查看
华电北风吹
天津大学认知计算与应用重点实验室
日期:2015/12/5
题目链接:
http://nanti.jisuanke.com/t/430
题目类型:
枚举
题目描述:
爱奇艺制作四档节目 W, X, Y, Z;能用的演播室只有A 和B。W 每一期都要在A 来录制,X每一期都固定在 B 来录制。而 Y 和 Z 没有特别的要求,既可以在演播室 A 录制。 W 一共 Ew 期,每期需要 w 分钟;X 一共 Ex 期,每期需要 x 分钟;Y一共 Ey 期,每期需要 y 分钟;Z 一共 Ez 期,每期需要 z 分钟。每一期节目从开始到结束必须在同一个演播室内录制,而整个节目不必每一期都在同一个演播室内录制。你能帮他们算出将节目全部录制完成所需的最短时间么?
输入格式
第一行输入一个整数 T (1 ≤ T ≤ 50),表示数据组数。
接下来一共输入 T 行数据,每行输入一组 8 个整数 Ew, Ex, Ey, Ez, w, x, y, z (1 ≤ Ew, Ex, Ey, Ez, w, x, y, z ≤ 106)。
输出格式
输出 T 行,每行一个整数,表示该组四档节目在连续录制的假设下,全部录完所需要的最短时间。
样例:
输入
1
100 1 3 5 10 1 10 10
输出
1000
解题思路:
总的来说只需要考虑y,z即可。在简化一下只考虑y在A,B之间的分配即可(z用来均衡时间)。
参考代码:
天津大学认知计算与应用重点实验室
日期:2015/12/5
题目链接:
http://nanti.jisuanke.com/t/430
题目类型:
枚举
题目描述:
爱奇艺制作四档节目 W, X, Y, Z;能用的演播室只有A 和B。W 每一期都要在A 来录制,X每一期都固定在 B 来录制。而 Y 和 Z 没有特别的要求,既可以在演播室 A 录制。 W 一共 Ew 期,每期需要 w 分钟;X 一共 Ex 期,每期需要 x 分钟;Y一共 Ey 期,每期需要 y 分钟;Z 一共 Ez 期,每期需要 z 分钟。每一期节目从开始到结束必须在同一个演播室内录制,而整个节目不必每一期都在同一个演播室内录制。你能帮他们算出将节目全部录制完成所需的最短时间么?
输入格式
第一行输入一个整数 T (1 ≤ T ≤ 50),表示数据组数。
接下来一共输入 T 行数据,每行输入一组 8 个整数 Ew, Ex, Ey, Ez, w, x, y, z (1 ≤ Ew, Ex, Ey, Ez, w, x, y, z ≤ 106)。
输出格式
输出 T 行,每行一个整数,表示该组四档节目在连续录制的假设下,全部录完所需要的最短时间。
样例:
输入
1
100 1 3 5 10 1 10 10
输出
1000
解题思路:
总的来说只需要考虑y,z即可。在简化一下只考虑y在A,B之间的分配即可(z用来均衡时间)。
参考代码:
#include <iostream> #include <fstream> using namespace std; #define MAX 0x7fffffff int main() { int T; int count[4], time[4], time_A, time_B, leasttime; cin >> T; while (T--) { time_A = 0; time_B = 0; leasttime = MAX; for (int i = 0; i<4; i++) cin >> count[i]; for (int i = 0; i<4; i++) cin >> time[i]; for (int i = 0; i <= count[2]; i++) { time_A = count[0] * time[0] + i*time[2]; time_B = count[1] * time[1] + (count[2] - i)*time[2]; int min = time_A<time_B ? time_A : time_B; int max = time_A>time_B ? time_A : time_B; int temp; if (min + count[3] * time[3] > max) { int need = (max - min) / time[3]; int left = count[3] - need; if ((left & 1) == 0) temp = max + (left >> 1)*time[3]; else temp = min + (need + (left >> 1) + 1)*time[3]; } else temp = max; leasttime = leasttime<temp ? leasttime : temp; } cout << leasttime << endl; } }
相关文章推荐
- NOIP2015提高组day2 —— 跳石头(stone)
- 115个Java面试题和答案(下)
- 2015年12月4日工作总结
- csdn markdown test
- 39 进程调度实验
- 利用JAVA想数据库中提交数据
- 115个Java面试题和答案(上)
- ddd 聚合根 之 聚合与不聚合 设计
- UVa 1400(LA 3938)动态最大连续和
- Android Retrofit 框架上传多张图片解决方案
- linux 信号发送函数sigqueue和信号安装函数sigaction用法
- JDK下载与配置
- ASP.NET 5 Configuration
- 解决Error: That port is already in use.
- nagios安装配置
- 关于左移和右移
- 用C++类实现简单的栈
- Tomcat ClassLoader机制
- iOS7以上图片模糊效果
- HDU5510(KMP)