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; }