1 条题解

  • 0
    @ 2017-12-10 16:35:22

    #include<iostream>

    #include<cstdio>
    #include<algorithm>
    using namespace std;

    struct cq{
    int l;
    int w;
    };
    cq b[1001];
    int yy(cq a,cq b)
    {
    return a.l<b.l||a.l==b.l&&a.w<b.w;
    }
    int main()
    {
    int n;
    cin>>n;
    int sum[1001];
    for(int i=1;i<=n;i++)
    {
    scanf("%d %d",&b[i].l,&b[i].w);
    sum[i]=0;

    }
    sort(b,b+n,yy);
    int k=1;
    sum[1]=b[1].w;
    for(int i=1;i<n;i++)
    {
    int x=0;
    for(int j=1;j<=k;j++)
    if(b[i].w>=sum[j])
    {
    if(x==0) x=j;
    else if(sum[j]>sum[x]) x=j;
    }
    if(x==0) sum[++k]=b[i].w;
    else sum[x]=b[i].w;
    }
    cout<<k<<endl;
    }

  • 1

信息

难度
6
分类
贪心 点击显示
标签
递交数
86
已通过
25
通过率
29%
上传者