从高到低排一下?而且得两个端点都确认一下吧(形如`st<=zuo && ed>=zuo`)
by 野生小卒 @ 2022-07-22 18:50:11
如果还是不行就看一下有没有边界问题
by 野生小卒 @ 2022-07-22 18:51:04
@[野生小卒](/user/37580) 谢谢但是还不行,
by BearBig @ 2022-07-22 19:05:03
代码再发一遍我看看?话说样例过得去吗
by 野生小卒 @ 2022-07-22 19:50:15
@[野生小卒](/user/37580) thx,20分如下
```cpp
#include<bits/stdc++.h>
using namespace std;
struct var
{
int st,ed;
int ind,ln;
var(int ln,int st,int ed,int ind)
{
this->ln=ln;
this->st=st;
this->ed=ed;
this->ind=ind;
}
var()
{
this->st=this->ed=this->ln=this->ind=0;
}
};var plat[1005];
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);cout.tie(0);
int n;cin>>n;
for(int i=1;i<=n;++i)
{
int ln,st,ed;cin>>ln>>st>>ed;
plat[i]=var(ln,st,ed,i);
}
for(int i=1;i<=n;++i)
{
int zuo=plat[i].st-1;
int you=plat[i].ed+1;
int lf(0),rt(0);
for(int j=1;j<=n;++j)
if((plat[j].st<=zuo and plat[j].ed>=zuo) and plat[j].ln<plat[i].ln and plat[j].ind<plat[lf].ind)
lf=j;
for(int j=1;j<=n;++j)
if((plat[j].ed>=you and plat[j].st<=you) and plat[j].ln<plat[i].ln and plat[j].ind<plat[rt].ind)
{rt=j;break;}
cout<<lf<<' '<<rt<<endl;
}
}
```
by BearBig @ 2022-07-25 18:56:58