#1#2#3#4#5 AC #6#7#10 TLE #8#9 RE
查看原帖
#1#2#3#4#5 AC #6#7#10 TLE #8#9 RE
1349478
tangyiqi楼主2024/10/13 13:55
#include <bits/stdc++.h>
using namespace std;
const int maxn = 100000;
int n,f[maxn],maxx = 0;
struct node{
	int x,y;
}a[maxn];
bool cmp(node a,node b);
int main(){
    for(int i = 0;i<maxn;i++)f[i]=1;
    scanf("%d",&n);
    for(int i = 0;i<n;i++){
        scanf("%d%d",&a[i].x,&a[i].y);
        if(a[i].x>a[i].y)swap(a[i].x,a[i].y);
    }
    sort(a,a+n,cmp);
    for(int i = 1;i<n;i++)
		for(int j=0;j<i;j++)
    		if(a[i].x>=a[j].y)f[i] = max(f[i],f[j]+1);
    for(int i = 0;i<n;i++)maxx = max(maxx,f[i]);
    printf("%d\n",maxx);
    return 0;
}
bool cmp(node a,node b){
    if(a.x!=b.x)return a.x<b.x;
    return a.y<b.y;
}
2024/10/13 13:55
加载中...