wa+tle?
查看原帖
wa+tle?
266948
Lhy2009楼主2020/12/28 17:48
#include<iostream>
#include<vector>
using namespace std;
struct compi{
    int a;
    int b;
};
int did(int n,vector<compi> h,vector<bool> u){
    if(n==0){
        return 0;
    }
    int p=did(n-1,h,u);
    bool can=1;
    for(int i=h[n-1].a;i<=h[n-1].b;i++){
        if(!u[i]){
            can=0;
            break;
        }
    }
    if(can){
        for(int i=h[n-1].a;i<=h[n-1].b;i++){
            u[i]=1;
        }
        int q=did(n-1,h,u);
        for(int i=h[n-1].a;i<=h[n-1].b;i++){
            u[i]=0;
        }
        if(q>p){
            p=q;
        }
    }
    return p;
}
int main(){
    int n;
    vector<compi> x;
    cin>>n;
    x.resize(n);
    int maxb=0;
    for(int i=0;i<n;i++){
        cin>>x[i].a>>x[i].b;
        if(x[i].b>maxb){
        	maxb=x[i].b;
		}
    }
    vector<bool> u;
    u.resize(maxb+2);
    cout<<did(n,x,u)<<endl;
    return 0;
}
2020/12/28 17:48
加载中...