poj 1609 Tiling Up Blocks

poj 1609 Tiling Up Blocks,第1张

poj 1609 Tiling Up Blocks
#include<iostream>using namespace std;int n;struct e{    int s,t;};e a[10001];int cmp(const void *a,const void *b){    e *s=(e*)a;    e *t=(e*)b;    if(s->s!=t->s)        return s->s-t->s;    else        return s->t-t->t;}int b[10001];int find(int s,int value){    int i=0,k;    while(i<=s)    {        k=(i+s)>>1;        if(b[k]>value) s=k-1;        else i=k+1;    }    return s;}void read(){    int i,j,k;    while(cin>>n){        if(n==0) break;    for(i=0;i<n;i++)        cin>>a[i].s>>a[i].t;    qsort(a,n,sizeof(e),cmp);      int  m=0;        b[0]=a[0].t;        for(i=1;i<n;i++)        { j=find(m,a[i].t); b[j+1]=a[i].t; if(j+1>m) m=j+1;        }    cout<<m+1<<endl;    }    cout<<'*'<<endl;        }int main(){    read();    return 0;}

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/4930737.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-12
下一篇2022-11-13

发表评论

登录后才能评论

评论列表(0条)

    保存