poj2624 4th Point
純水題,注意交點不一定是第二個點和第三個點
?
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<algorithm>
using namespace std;
struct Vector
{
?? ?double x;
?? ?double y;
};
struct point
{
?? ?double x;
?? ?double y;
};
Vector operator-(const point a,const point b)
{
?? ?Vector temp;
?? ?temp.x=a.x-b.x;
?? ?temp.y=a.y-b.y;
?? ?return temp;
}
Vector operator+(const Vector a,const Vector b)
{
?? ?Vector temp;
?? ?temp.x=a.x+b.x;
?? ?temp.y=a.y+b.y;
?? ?return temp;
}
bool operator==(const point a,const point b)
{
?? ?if(a.x==b.x&&a.y==b.y)
?? ?{
?? ??? ?return true;
?? ?}
?? ?return false;
}
int main()
{
?? ?point a,b,c,d;
?? ?while(scanf("%lf %lf %lf %lf %lf %lf %lf %lf",&a.x,&a.y,&b.x,&b.y,&c.x,&c.y,&d.x,&d.y)!=EOF)
?? ?{
?? ??? ?if(b==d)
?? ??? ?{
?? ??? ??? ?d=c;
?? ??? ?}
?? ??? ?if(a==c)
?? ??? ?{
?? ??? ??? ?point t=a;
?? ??? ??? ?a=b;
?? ??? ??? ?b=t;
?? ??? ?}
?? ??? ?if(a==d)
?? ??? ?{
?? ??? ??? ?d=c;
?? ??? ??? ?point t=a;
?? ??? ??? ?a=b;
?? ??? ??? ?b=t;
?? ??? ?}
?? ??? ?Vector m,n;
?? ??? ?m=a-b;
?? ??? ?n=d-b;
?? ??? ?Vector temp=m+n;
?? ??? ?point res;
?? ??? ?res.x=b.x+temp.x;
?? ??? ?res.y=b.y+temp.y;
?? ??? ?printf("%.3f %.3f\n",res.x,res.y);
?? ?}
?? ?return 0;
}
//180K 0MS
轉載于:https://www.cnblogs.com/willzhang/archive/2012/07/23/2605599.html
總結
以上是生活随笔為你收集整理的poj2624 4th Point的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: net开源项目
- 下一篇: Windows Phone开发(30):