Hansel and Grethel ACM pku http://acm.pku.cn/JudgeOnline/problem?id=1254

1254是一道非常简单的关于平面直线相交问题的计算,只要注意一点:

斜率并不是所给出的指南针上的度数而应该是(90-degree);解决了此问题后所有的问题都迎刃而解了

我的代码如下:

#include <iostream>
#include <cmath>
using namespace std;
const double PI=3.1415926535897932384626;
int main ()
{
int n;
cin >>n;
for (int i=1;i<=n;i++)
{
   double x0,x1,y0,y1,degree0,degree1,X=0,Y=0;
   cin>>x0>>y0>>degree0;
   cin>>x1>>y1>>degree1;
   double k0,k1;
   k0=tan(((-degree0+90)/180)*PI);
   k1=tan(((-degree1+90)/180)*PI);
   X=(y1-y0-k1*x1+k0*x0)/(k0-k1);
   Y=(k1*y0-k0*y1+k0*k1*x1-k1*k0*x0)/(k1-k0);
   printf("%.4lf",X);
   cout<<" ";
   printf("%.4lf\n",Y);
}


return 0;
}

posted on 2011-05-06 19:40  _Clarence  阅读(137)  评论(0编辑  收藏  举报

导航