sicily 1070 Hansel and Grethel 解题报告
summary
:
好久没刷题了,就去水题集里面挑了道水题做,居然绞尽脑汁想不出来,后来还是百度了一下, 发现网上有关这道题的博客一篇都没有,于是,google,终于找到了一篇!看注释:
求两直线的交点,交点必存在 。
我真的是太水了,可能天生就是这么笨,这样都想不到。于是不看他的代码,自己研究了一下, 结果............还是不会!无奈之下,看人家的代码吧......看了代码,很短,自卑了一下, 再看程序的核心,完全不懂!我差点羞愧而死......又研究了这份代码许久,终于是放弃了。 于是加了博主的QQ,博主人真的好,特地加了详细的注释,一看注释的内容就有种被鄙视的感觉。 我居然连斜率,斜截式这些高中数学最简单的东西都忘了!!难道是项目做得太多,变笨了吗? 难道是我根本就没有搞ACM的天赋吗?不管了,看了好久注释,总算是明白了, 也从中学到了很多东西,也从心里感受到了数学对于计算机是多么重要。
代码:
#include <stdio.h>
#include <math.h>
#define PI acos(-1.0)
int main()
{
int t;
double x1,y1,d1,x2,y2,d2;
double x,y,k1,k2;
int i;
scanf("%d", &t);
for(i = 0; i < t; i++){
scanf("%lf %lf %lf", &x1,&y1,&d1);
scanf("%lf %lf %lf", &x2,&y2,&d2);
k1 = tan((90-d1)*PI/180);
k2 = tan((90-d2)*PI/180);
x = (y2 - y1 + k1 * x1 - k2 * x2) / (k1 - k2);
y = (k1 * k2 * x2 - k1 * k2 * x1 + k2 * y1 - k1 * y2) / (k2 - k1);
printf("%.4lf %.4lf\n", x,y);
}
return 0;
}