1008
来源:互联网 发布:c语言的玫瑰花数是多少 编辑:程序博客网 时间:2024/06/11 21:30
1008 Problem I
问题:加工一些木棍,当之后加工的木棍,长、重都不小于前一根时,不需要花费更多的时间,否则,时间加一分钟,求加工所有木棍,所需的最短时间。
思路:将所有木棍的长由小到大排序,在长度相同的情况下,按重量排序,因为木棍的长度顺序确定,所以只需比较重量,如果重量比前一根小,则时间加一分钟。
感想:在初期的思考中,一直在纠结于如何将所有的木棍长和重量比较后,然后记录下可以在同一时间处理的木棍,代码却迟迟不能实现,后来终于发现,因为木棍已经按长度排序,那么变量就只有重量,问题自然变得简单了许多。
#include<iostream>
#include<algorithm>
using namespace std;
struct sti{
int l;
int w;
bool b;
}s[5000];
bool cmp(const sti&a,const sti &b){
if(a.l!=b.l) return a.l<b.l;
else return a.w<b.w;
}
int main(){
int T,n,i,j,wight;
cin>>T;
while(T--){
cin>>n;
int k=0;
for(i=0;i<n;i++) {cin>>s[i].l>>s[i].w; s[i].b=false;}
sort(s,s+n,cmp);
for(i=0;i<n;i++){
if(s[i].b==false)
{
s[i].b=true;
wight=s[i].w;
k++;
}
for(j=i+1;j<n;j++){
if((s[j].b==false)&&(wight<=s[j].w))
{
wight=s[j].w;
s[j].b=true;
}
}
}
cout<<k<<endl;
}
return 0;
}
- 1008
- 1008
- 1008
- 1008
- 1008
- 1008
- 1008
- 1008
- 1008
- 1008
- 1008
- 1008
- 1008
- 1008
- 1008
- 1008
- 1008
- 1008
- IOS学习之——短信分享 邮件分享
- Java bio nio aio
- activiti自定义流程之Spring整合activiti-modeler5.16实例(五):流程定义列表
- Pyserial能够在Shell中运行良好,但是在脚本中运行失败
- Git命令学习之旅——基础操作
- 1008
- APP设计师必读,快速适配iPhone6及Plus的诀窍
- idea 配置svn
- [WC2013][JZOJ3250]模积和
- Dubbo框架介绍
- iOS 企业证书发布app 流程
- 引入Spring、Struts、Hibernate等框架下的 JAR 包版本号怎么看
- Delphi-JAVA互加解密AES算法
- 鲁棒的实时人脸检测:Robust Real-Time Face Detection