提交时间:2023-04-08 11:47:46
运行 ID: 73697
#include <iostream> using namespace std; #define N 1000 int n; int a[N][2]={}; int is_jd(int i, int j){ if(i==j) { return 0; } else if((a[i][0]<=a[j][0] && a[i][1]>=a[j][1]) || (a[i][0]>=a[j][0] && a[i][1]<=a[j][1])) { return 1; } else if(a[i][0]>a[j][0]&&a[i][1]>a[j][1]) { return 2; } else if(a[i][0]<a[j][0]&&a[i][1]<a[j][1]) { return 3; } return 0; } int main() { cin>>n; for(int i=0;i<n;i++) { cin>>a[i][0]>>a[i][1]; } int max = 0; for (int i=0; i<n; i++){ int s[N] = {}; int num = 0; s[num++] = i; for (int j=0; j<n; j++){ int jd = 0; int is_in = 0; for(int k =0; k<num; k++){ if (j==s[k]) { is_in = 1; break; } if(is_jd(j, s[k]) == 1) { jd++; break; } } if(jd == 0 && is_in ==0){ s[num++] = j; } } if(max<num) { max=num; } } cout<< max << endl; return 0; }