USACO 3.1 Score Inflation (完全背包)
2015-10-17 21:35
232 查看
#include <stdio.h> #define DEBUG 1 #define TESTCASES 9 #define MAX 10000 int contestMinutes, numOfClasses; int pointArray[MAX + 1]; int minuteArray[MAX + 1]; int maxPoints[MAX + 1]; int main(){ #if DEBUG int testCase; for (testCase = 1; testCase <= TESTCASES; testCase++){ char inputFileName[20] = "inputx.txt"; inputFileName[5] = '1' + (testCase - 1); freopen(inputFileName, "r", stdin); printf("\n#%d\n", testCase); #endif scanf("%d%d", &contestMinutes, &numOfClasses); int i; for (i = 1; i <= numOfClasses; i++) scanf("%d%d", &pointArray[i], &minuteArray[i]); int preClasses, minutesLimit; for (minutesLimit = 1; minutesLimit <= contestMinutes; minutesLimit++) maxPoints[minutesLimit] = 0; int lowerMinutes, temp; for (preClasses = 1; preClasses <= numOfClasses; preClasses++){ lowerMinutes = minuteArray[preClasses]; for (minutesLimit = lowerMinutes; minutesLimit <= contestMinutes; minutesLimit++){ temp = maxPoints[minutesLimit - lowerMinutes] + pointArray[preClasses]; if (temp > maxPoints[minutesLimit]) maxPoints[minutesLimit] = temp; } } printf("%d\n", maxPoints[contestMinutes]); #if DEBUG } #endif return 0; }
相关文章推荐
- C++动态规划之最长公子序列实例
- C++动态规划之背包问题解决方法
- C#使用动态规划解决0-1背包问题实例分析
- 动态规划
- C++ 动态规划
- DP(动态规划) 解游轮费用问题
- 动态规划的用法——01背包问题
- 动态规划的用法——01背包问题
- 《收集苹果》 动态规划入门
- 《DNA比对》蓝桥杯复赛试题
- 《背包问题》 动态规划
- 初学ACM - 半数集(Half Set)问题 NOJ 1010 / FOJ 1207
- 关于爬楼梯的动态规划算法
- 动态规划 --- hdu 1003 **
- 模板继承【粗翻译】
- 在rails3.1使用assets pipeline with compass
- DP问题各种模型的状态转移方程
- 0-1背包解题过程
- 背包问题
- USACO 3.2.2:Stringsobits