问题标题: 酷町堂:暑假问答第三天

0
0
已解决
包涵宇
包涵宇
中级天翼
中级天翼

昨天太忙,没时间刷问答,今天两更,把昨天补上

今天我要问的是一个问题,2624

WA 90分代码

#include<bits/stdc++.h>
using namespace std;
struct cc{
    int a,b;
}c[155];
bool cmp(cc x,cc y){
    if(x.b!=y.b)return x.b<y.b;
    return x.a>y.a;
}
int n,s,f,ff;
bool p=1,pp=1;
int main(){
    cin>>n;
    for(int i=1;i<=n;i++)cin>>c[i].a>>c[i].b;
    sort(c+1,c+1+n,cmp);
    for(int i=1;i<=n;i++){
        if(p){
            s++;
            p=0;
            f=c[i].b;
        }
        else if(pp){
            s++;
            pp=0;
            ff=c[i].b;
        }
        else if(f>=ff){
            if(c[i].a>=f){
                s++;
                f=c[i].b;
            }
            else if(c[i].a>=ff){
                s++;
                ff=c[i].b;
            }
        }
        else{
            if(c[i].a>=ff){
                s++;
                ff=c[i].b;
            }
            else if(c[i].a>=f){
                s++;
                f=c[i].b;
            }
        }
    }
    cout<<s;
    return 0;
}

找错!


0
已采纳
王泽宇
王泽宇
初级光能
初级光能

    循环(int i=1;i<=n;i++)
        cin>>a[i].st>>a[i].end;
    排序(a+1,a+1+n,cmp);
    定义 x=-1,ans=0,x2=-1;
    循环(int i=1;i<=n;i++)
    {
        判断(a[i].st>=x)
        {
            ans++;
            x=a[i].end;
        }
        否则判断(a[i].st>=x2)
        {
            ans++;
            x2=a[i].end;
        }
        判断(x<x2) 交换(x,x2);
    }
    输出ans;

 

0
李瑞曦
李瑞曦
高级天翼
高级天翼

这题你不是问过了吗?

我要回答