HDU 1051
2024-08-29 19:14:58
题意:给你n个木块的长和宽,现在要把它送去加工,这里怎么说呢,就是放一个木块花费一分钟,如果后面木块的长和宽大于等于前面木块的长和宽就不需要花费时间,否则时间+1,问把这个木块送去加工的最短时间。
思路:还是结构体排序,长相等就以宽来排序,如果一个木块被送去加工了标记它不存在就可以了;
#include<iostream>
#include<cmath>
#include<algorithm>
using namespace std;
struct wood{
int l,r;
int vi;
}p[];
int cmp(wood a,wood b)
{
if(a.l==b.l)
return a.r<b.r;
return a.l < b.l;
}
int main()
{
int t; cin >> t;
while(t--){
int n;cin >> n;
for(int i=;i<n;++i){
cin >> p[i].l >> p[i].r;
p[i].vi=;
}
sort(p,p+n,cmp); //如果满足 l<=l' and w<=w',则必然满足 l<=l',所以先以它的大小排个序
int sum,count;
sum=count=;
while(count<n){ // 然后反复找
int kl=-,kr=-;
for(int i=;i<n;++i){
if(p[i].vi&&p[i].l>=kl&&p[i].r>=kr){
p[i].vi=;kl=p[i].l;kr=p[i].r;
++count;
}
}
++sum;
}
cout << sum << endl;
}
return ;
}
最新文章
- linux特殊权限SUID、SGID、SBIT
- javascript平时小例子⑨(小型抽奖功能)
- DirectShowLib directshownet 视频
- cocoapods遇到error: RPC failed; curl 56 SSLRead() return error -36问题
- 激活Maven profile的几种方式
- Maven实战四
- 转载 deep learning:八(SparseCoding稀疏编码)
- jeesz分布式架构集成阿里云oss存储
- 深度解析PHP数组函数array_combine
- FusionCharts ScrollColumn2D图
- baidu地图:实现多点连线渲染
- Hystrix针对不可用服务的保护机制以及引入缓存
- dom解析xml随笔
- 洛谷 P1164:小A点菜(DP/DFS)
- Android设计模式之工厂模式
- OSX - 可以安装任何程序!
- 慕课网 Ajax笔记
- 897. Increasing Order Search Tree
- Linux下查看nginx的安装路径
- IE类兼容一