hdu 1051 Wooden Sticks
来源:互联网 发布:喵萝捏脸数据 百度云 编辑:程序博客网 时间:2024/05/25 23:24
这题要用贪心法,先对所有木棒的l或w进行排序并全部标记为0,然后从第一根木棒进行检索,找到符合 l<=l' w<=w'的木棒并标记为1,检索完一遍以后又从第一个标记为0的木棒开始检索,直到全部标记为1。
#include <stdio.h>#include <stdlib.h>struct wood{ int l; int w; int flag;};struct wood a[5000+10];struct wood b[5000+10];int main(){ int t,m,n,i,j,temp,time,count,sum; struct wood head; scanf("%d",&t); while(t--) { scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d %d",&a[i].l,&a[i].w); a[i].flag=0; } for(i=0;i<n;i++) { for(j=i+1;j<n;j++) { if(a[i].l>a[j].l||(a[i].l==a[j].l&&a[i].w>a[j].w)) { temp=a[i].l; a[i].l=a[j].l; a[j].l=temp; temp=a[i].w; a[i].w=a[j].w; a[j].w=temp; } } } time=0; head.l=a[0].l; head.w=a[0].w; a[0].flag=1; sum=1; do{ for(i=1;i<n;i++) { if(a[i].flag==0&&head.l<=a[i].l&&head.w<=a[i].w) {a[i].flag=1; head.l=a[i].l; head.w=a[i].w; sum++;} } time++; for(i=0;i<n;i++) { if(a[i].flag==0) { head.l=a[i].l; head.w=a[i].w; break; } } }while(sum!=n); printf("%d\n",time); } return 0;}
- hdu-1051 wooden sticks
- hdu 1051 Wooden Sticks
- HDU 1051 Wooden Sticks
- hdu 1051 Wooden Sticks
- HDU 1051 Wooden Sticks
- hdu 1051 Wooden Sticks
- hdu 1051 Wooden Sticks
- hdu 1051 Wooden Sticks
- hdu 1051 Wooden Sticks
- hdu 1051 Wooden Sticks
- HDU 1051 Wooden Sticks
- hdu 1051 Wooden Sticks
- hdu 1051 Wooden Sticks
- HDU 1051 Wooden Sticks
- hdu 1051 Wooden Sticks
- hdu 1051 Wooden Sticks
- HDU 1051 Wooden Sticks
- HDU 1051:Wooden Sticks
- 我的第一个JAVA程序之计算器
- 实例教程:1小时学会Python
- POJ 1128 食物链
- POJ 1611 The Suspects
- POJ 1308 Is It A Tree?
- hdu 1051 Wooden Sticks
- ZOJ 1307 Packets
- hdu 1159 Common Subsequence
- hdu 1087 Super Jumping! Jumping! Jumping!
- jQuery定义自己函数
- hdu 1003 Max Sum
- Codeforces Purification
- hdu 2181 哈密顿绕行世界问题 - 搜索
- Burning Midnight Oil