题目1499:项目安排
来源:互联网 发布:苹果手机截动图软件 编辑:程序博客网 时间:2024/05/17 20:45
#include <stdio.h>#include <stdlib.h>#include <string.h> #define MAX 10001 typedef struct project{ int start; int end; int value;}Project; Project myproject[MAX];int dp[MAX];//状态dp[i]表示做完项目i后获得的收入 int compare(const void * p, const void * q){ Project * p1 = (Project *)p; Project * q1 = (Project *)q; return p1->end - q1->end;} int MaxValue(int n){ int i, j; int start, end; int max; memset(dp, 0, sizeof(dp)); for (i = 1; i <= n; ++i){ start = myproject[i].start; for (j = i - 1; j >= 0; --j){ if (start >= myproject[j].end && dp[i] < dp[j] + myproject[i].value){ dp[i] = dp[j] + myproject[i].value; } } } max = -1; for (i = 1; i <= n; ++i) if (max < dp[i]) max = dp[i]; return max;} int main(void){ int n, i; while (scanf("%d", &n) != EOF){ for (i = 1; i <= n; ++i){ scanf("%d%d%d", &myproject[i].start, &myproject[i].end, &myproject[i].value); } myproject[0].start = 0; myproject[0].end = 0; myproject[0].value = 0; qsort(myproject, n+1, sizeof(Project), compare); printf("%d\n", MaxValue(n)); } return 0;}/************************************************************** Problem: 1499 User: cust123 Language: C++ Result: Accepted Time:430 ms Memory:1176 kb****************************************************************/
0 0
- 题目1499:项目安排
- 题目1499:项目安排
- 项目安排
- 项目安排
- 项目安排
- 项目安排
- 项目安排
- 项目安排
- 题目168 房间安排
- 管道通信题目安排
- 题目168-房间安排
- NYOJ 题目168 房间安排
- 房间安排(题目168)
- 南阳题目168-房间安排
- 题目14 会场安排问题
- 题目14:会场安排问题
- 项目进度安排
- 6.27项目学习安排
- 4月第三篇
- 题目1498:寻找表达式
- 4月第四篇
- Binary Search Tree
- 【爬虫】爬取煎蛋上的段子
- 题目1499:项目安排
- iOS 推送机制
- Idea plugin 之 JUnit Generator
- 数据结构实验——单链表
- 538. Convert BST to Greater Tree
- 移动端图片左右滑动效果
- poj2451 Uyuw's Concert【半平面交】
- 题目1500:出操队形
- JDBC