首页 > 代码库 > hdu 1051 Wooden Sticks
hdu 1051 Wooden Sticks
简单贪心。
将所给数据从小到大进行排序,将所给零件的两数据均小于另一个零件的两数据,看做一个集合。
最后输出集合个数。
#include<iostream> #include<stdlib.h> #include<stdio.h> #include<string.h> #include<algorithm> using namespace std; struct www { int x,y; }s[5005]; int yy[5005],a,b; bool cmp(www q,www u) { if(q.x==u.x) return q.y<u.y; else return q.x<u.x; } void show(int o) { int j,d,e; d=s[o].x; e=s[o].y; for(j=o+1;j<b;j++) { if(!yy[j]) { if(d<=s[j].x&&e<=s[j].y) { yy[j]=1; d=s[j].x; e=s[j].y; } } } } int main() { int c,i,sum; scanf("%d",&a); while(a--) { scanf("%d",&b); sum=0; memset(yy,0,sizeof(yy)); for(i=0;i<b;i++) { scanf("%d %d",&s[i].x,&s[i].y); } sort(s,s+b,cmp); for(i=0;i<b;i++) { if(yy[i]==0) {yy[i]=1; show(i); sum++;} } printf("%d\n",sum); } return 0; }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。