poj1065(木棍加工贪心)
来源:互联网 发布:厦门市大数据管理中心 编辑:程序博客网 时间:2024/04/28 17:26
【题意】
有n根木棒,已知他们的质量和长度,需对他们进行加工,开机1分钟,加工一根一分钟,
且每次开机后,加工的第i+1根必须比第i根的长度和质量都要大才行,问最短加工时间。
【输入】
第一行T表示T组数据。
每组数据第一行一个N,表示几根木棒。
然后N个二元组,表示每根木棒的长度与质量。
【输出】
对于每组数据,输出最短加工时间。
思路:
按照长度小到大排序,长度相等则按照重量小到大排序,先找第一次能加工的序列,然后以这个为标准继续找,直到找不到,这就是第一次加工
继续这样直到全部加工
#include<iostream>#include<cstdio>#include<algorithm>using namespace std;struct wood{ int len; int wight; int flag ;}w[10005];bool cmp(wood a,wood b){ if(a.len == b.len) return a.wight < b.wight; else return a.len < b.len;}int main(){ int t; scanf("%d",&t); while(t--) { int m; scanf("%d",&m); for(int i = 0; i < m; i++) { scanf("%d%d",&w[i].len,&w[i].wight); w[i].flag = 0; } sort(w,w+m,cmp); int sum = 0,count = 0; for(int i = 0; i < m; i++) { if(w[i].flag == 0) { int k = i; sum++;w[i].flag = 1;//加工过的做标记 for(int j = i+1;j < m ; j++) { if(!w[j].flag &&w[k].wight <= w[j].wight)//找能加工的并且没有用过的加工 { k = j;// w[j].flag = 1; } } } } printf("%d\n",sum); } return 0;}
- poj1065(木棍加工贪心)
- poj1065 贪心
- poj1065 贪心
- poj1065贪心
- 1008 加工木棍问题
- 洛谷 P1233 木棍加工
- 洛谷 P1233 木棍加工
- poj1065 Wooden Sticks 贪心
- poj1065-小小的贪心
- 1poj1065(贪心)
- poj1065-贪心法
- 贪心 木棍问题
- 木棍(贪心)
- 贪心 取木棍
- POJ1065 - Wooden Sticks - 贪心算法
- POJ1065 Wooden Sticks(贪心||DP)
- 零件加工(贪心)
- 零件加工(贪心)
- USACO:Humble Numbers
- LINUX系统调用的添加(2.6.36版本)
- hdu1020(Encoding)
- 功能强大的命令行工具Powershell
- Quick Benchmark: Gzip vs Bzip2 vs LZMA vs XZ vs LZ4 vs LZ
- poj1065(木棍加工贪心)
- URL编码问题汇总
- TinyOS LEEP详解
- PQ分区魔术师图解教程
- Java中char的字节数
- 黑马程序员——C#学习日记之字符串处理函数
- VS中的路径宏 vc++中OutDir、ProjectDir、SolutionDir各种路径
- CentOS输入法
- Hello Dojo