1008 加工木棍问题
2016-03-29 21:42
323 查看
简单题意:
有一堆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;
else
if(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
有一堆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;
else
if(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
相关文章推荐
- C/C++ 获取文件夹下的所有文件列表
- Android Studio--ListView
- 结合实例详解clone()函数,Cloneable接口以及深拷贝与浅拷贝的问题
- C++ 构造函数或析构函数调用虚函数
- 0329 复利计算器5.0 Juint单元测试 组员 254列志华 253韩麒麟
- 蜜の夜明け
- 希尔排序
- Mockito 单元测试简介以及Stub
- A*算法实现
- hdu 1548 A strange lift 最短路 spfa模板
- 实验1 交叉编译工具链建立实验 64位机问题
- Spring入门
- 一牛人博客导航
- symonfy 项目根目录下没有 bin/console 文件的解决方法
- 社团费吧
- hdu 1176 免费馅饼【DP+详解】
- 旅の途中
- BZOJ 3759 Hungergame
- Python requests“Max retries exceeded with url” error
- string的assign用法