问题标题: 酷町堂:1388 安装饮水机(water)

0
0
已解决
陈曦
陈曦
资深天翼
资深天翼
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<string>
using namespace std;
int n,cnt;
struct drink{
    int l,r,d;
}a[1500];
bool cmp(drink x,drink y){
    return x.r<y.r;
}
int main(){
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i].l>>a[i].r;
    }
    sort(a+1,a+n+1,cmp);
    for(int i=2;i<=n;i++){
        if(a[i].l<=a[i-1].d){
            continue;
        }
        a[i].d=a[i].r;
        cnt++;
        //cout<<i<<' ';
    }
    cout<<cnt;
    return 0;
}

10分


0
0
陈曦
陈曦
资深天翼
资深天翼

改了下

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<string>
using namespace std;
int n,cnt;
struct drink{
    int l,r,d;
}a[1500];
bool cmp(drink x,drink y){
    return x.r<y.r;
}
int main(){
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i].l>>a[i].r;
    }
    sort(a+1,a+n+1,cmp);
    for(int i=2;i<=n;i++){
        if(a[i].l<=a[cnt].d){
            continue;
        }
        a[++cnt].d=a[i].r;
        //cout<<i<<' ';
    }
    cout<<cnt;
    return 0;
}

20

0
武奕楷
武奕楷
新手天翼
新手天翼
for(int i=1;i<=n;i++){
        cin>>a[i].l>>a[i].r;
        a[i].w1=a[i].l-a[i].r;
        a[i].w2=a[i].l+a[i].r;
    }
    sort(a+1,a+n+1,cmp);
    for(int i=1;i<=n;i++){
        if(a[i].w1>p){
            cnt++;
            p=a[i].w2;
        }
    }

至于cmp函数吗……你自己想

我要回答