求助各位大佬为什么代码10分

P1105 平台

从高到低排一下?而且得两个端点都确认一下吧(形如`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


|