Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
Re:为什么TLE?In Reply To:为什么TLE? Posted by:YuRuochen at 2022-08-30 14:00:40 > 代码如下(很好理解): > #include<iostream> > #include<cstdio> > #include<algorithm> > #include<cmath> > using namespace std; > int n,d,x,y,t; > struct line{ > double s,e; > } ls[1010]; > bool cmp(line a,line b){ > return a.s<b.s; > } > int main(){ > while(~scanf("%d%d",&n,&d)){ > if(!n&&!d) break; > t++; > bool flag=1; > for(int i=1;i<=n;i++){ > scanf("%d%d",&x,&y); > if(y>d){ > flag=0; > break; > } > double p=sqrt(d*d-y*y); > ls[i].s=x-p; > ls[i].e=x+p; > } > if(!flag){ > printf("Case %d: -1\n",t); > continue; > } > sort(ls+1,ls+n+1,cmp); > int cnt=0; > double now=-1e9; > for(int i=1;i<=n;i++){ > if(ls[i].s>now){ > cnt++; > now=ls[i].e; > }else if(ls[i].e<now) now=ls[i].e; > } > printf("Case %d: %d\n",t,cnt); > } > return 0; > } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator