提交时间:2024-01-21 11:01:43

运行 ID: 120883

#include<bits/stdc++.h> using namespace std; int n; struct point { int num; int l; int r; int lu; int ru; }; point a[1010]; int Max; bool cmp(point x,point y) { return x.num<y.num; } int tmp; int aa[1010]; int main() { cin>>n; for(int i=1;i<=n;i++) { cin>>a[i].num; cin>>a[i].l; cin>>a[i].r; Max=max(Max,a[i].r); aa[i]=a[i].num; } sort(a+1,a+n+1,cmp); a[0].l=-1; a[0].r=Max+1; for(int i=1;i<=n;i++) { for(int j=i-1;j>=0;j--) { if(a[j].l<a[i].l && a[j].r>=a[i].l && a[i].lu==0) { a[i].lu=j; } if(a[j].r>a[i].r && a[j].l<=a[i].r && a[i].ru==0) { a[i].ru=j; } } } for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { if(aa[i]==a[j].num) { cout<<a[j].lu; cout<<" "; cout<<a[j].ru; cout<<endl; break; } } } return 0; }