1008 加工木棍问题
来源:互联网 发布:linux服务器架设 鸟哥 编辑:程序博客网 时间:2024/04/29 08:09
简单题意:
有一堆n木棍。每个棍子的长度和重量都提前知道。棒是由木工机床在加工一个接一个时尚。它需要一些时间,启动时间,呼吁机器准备处理一根棍子。设置时间与清洁有关操作和改变机器的工具和形状。给出了木工机床的安装时间如下:
(一)设置第一根木棍是1分钟的时间。
(b)后加工一根长度和重量w,机器将不需要设置时间一根长度和重量w '如果l < = l”和w < = w”。否则,它将需要1分钟的设置。
思路:
将其给的数据,先将其从大到小排序,再依次比较第二个值即可。
代码如下:
#include<iostream>#include<algorithm>#include<cstring>using namespace std;struct club{int x,y;};bool cmp (const club &k,const club&h){if(k.x<h.x) return true;elseif(k.x==h.x)return k.y<h.y ;return false;}int main(){int b[10000];int m,n,sum=0,i,j,pp;club a[10000];cin>>m;while(m--){cin>>n;for(i=1;i<=n;i++){cin>>a[i].x >>a[i].y ;}memset(b,0,sizeof(b));sort(a+1,a+n+1,cmp); sum=0; for(i=1;i<=n;i++){ if(b[i]==1) continue;b[i]=1;sum++; pp=a[i].y;for(j=i+1;j<=n;j++)//将第二个值比较{if(pp<=a[j].y&&b[j]==0){pp =a[j].y ;b[j]=1;//若符合则将该数标记, 防止重复计算}}int kk=0; for(j=1;j<=n;j++)//判断是否所有的数都以被标记 if(b[j]==1) kk++; if(kk==n) break;}cout<<sum<<endl;}}感想: 此类问题比较简单的贪心问题,比较再标记即可。
ACID:00737746
0 0
- 1008 加工木棍问题
- poj1065(木棍加工贪心)
- 洛谷 P1233 木棍加工
- 洛谷 P1233 木棍加工
- 木棍问题
- 木棍问题
- POJ 1011 木棍问题
- POJ 1011 木棍问题
- 贪心 木棍问题
- 10003木棍切割问题
- mmc加工配套问题
- 木棍
- 贪心算法之木棍问题
- 切木棍问题(深搜)
- 加工
- POJ 1065 木棍问题 贪心算法
- poj2362(小木棍问题的逆过程)
- 经典递归问题--木棍POJ 1011
- 希尔排序
- ehcache + spring+mybatis整合
- 蜜の夜明け
- Spring入门
- Ubuntu 14.04 配置 Hadoop 2.7.2 可能遇到的问题
- 1008 加工木棍问题
- Mockito单元测试——verify
- 初识类与对象01
- Android--ListView中添加控件的点击
- 结合实例详解clone()函数,Cloneable接口以及深拷贝与浅拷贝的问题
- PopupWindow
- python语言下linux&windows下安装pcap包
- Mockito单元测试——方法参数
- getHibernateTemplate()的用法