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 |
大哥们 大姐们 谁来帮我看看啊啊 !!!~~~~~~~~WHY WA?#include<iostream> using namespace std; struct point { int x; int y; }; bool fun1(point c,int l,point a,point b) { double x; if(b.y!=a.y) { x=(double(b.x-a.x)*c.y-b.x*a.y+a.x*b.y)/(b.y-a.y); if((x-a.x)*(x-b.x)<=0&&x-c.x>=0&&x-c.x-l<=0) return true; else return false; } else if(b.y!=c.y) return false; else if((a.x>=c.x&&a.x<=c.x+l)||(b.x>=c.x&&b.x<=c.x+l)) return true; else return false; } bool fun2(point c,int l,point a,point b) { double y; if(b.x!=a.x) { y=(double(b.y-a.y)*c.x+b.x*a.y-a.x*b.y)/(b.x-a.x); if((y-a.y)*(y-b.y)<=0&&y-c.y>=0&&y-c.y-l<=0) return true; else return false; } else if(b.x!=c.x) return false; else if((a.y>=c.y&&a.y<=c.y+l)||(b.y>=c.y&&b.y<=c.y+l)) return true; else return false; } int main() { int n; point a,b,c,d,e,f,g,h; bool flag; cin>>n; while(n--) { cin>>e.x>>e.y>>f.x>>f.y>>g.x>>g.y>>h.x>>h.y; a.x=g.x<h.x?g.x:h.x; a.y=g.y>h.y?g.y:h.y; d.x=g.x>h.x?g.x:h.x; d.y=g.y<h.y?g.y:h.y; b.x=d.x; b.y=a.y; c.x=a.x; c.y=d.y; flag=false; if(fun1(a,d.x-a.x,e,f)) flag=true; else if(fun1(c,d.x-c.x,e,f)) flag=true; else if(fun2(c,b.y-c.y,e,f)) flag=true; else if(fun2(d,b.y-c.y,e,f)) flag=true; if(e.x>c.x&&e.x<d.x&&f.x>c.x&&f.x<d.x&&e.y>c.y&&e.y<a.y&&f.y>c.y&&f.y<a.y) flag=true; if(flag==true) cout<<'T'<<endl; else cout<<'F'<<endl; } return 0; } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator