问题标题: 酷町堂:2624

0
0
已解决
朱雨泽
朱雨泽
新手守护
新手守护

题目链接: 酷町堂:2624

#include <iostream>

#include <algorithm>

#include <cmath>

using namespace std;

int st1=-1,st2=-1;

struct stu{

    int st,end;

}a[1005];

bool cmp(stu a,stu b){

    if(a.end!=b.end)

        return a.end<b.end;

    return a.st>b.st;

}

int main(){

    int n,c=0;

    cin>>n;

    for(int i=1;i<=n;i++){

        cin>>a[i].st>>a[i].end;

    }

    sort(a+1,a+n+1,cmp);

    for(int i=1;i<=n;i++){

        if(st1<st2){

            swap(st1,st2);

        }

       else  if(a[i].st>=st1){

            if(a[i].st>=st2){

                st2=a[i].end;

                c++;

            }

        }

    }

    cout<<c;

    return 0;

}


0
已采纳
张皓然
张皓然
中级光能
中级光能

if(pos1<pos2){

    swap(pos1,pos2);

}

if(a[i].st>=pos1){

    pos1=a[i].ed;

    cnt++;    

}else if(a[i].st>=pos2){

    pos2=a[i].ed;
    cnt++;

}

for循环里是这个

我要回答