题目:
思路:
本题重点在于如何判断两直线相交!
在数学上,判断两条直线是否相交可以通过比较直线的斜率和截距来完成。以下是几种常见的方法:
1. 斜率和截距法(适用于直线方程为一般式或斜截式)
对于两条直线:
2.一般式法(适用于直线方程为一般式 Ax+By+C=0)
3.行列式(适用于任意直线方程)
4.交点式(适用于任意直线方程)
这些方法可以应用于二维平面上的直线,也可以推广到三维空间中的直线。在实际应用中,通常需要根据直线的具体方程形式选择合适的方法。
代码:
本题采用行列式法
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int T;
scanf("%d",&T);
int a1,a2,b1,b2,c1,c2,d1,d2;
for(int i=0;i<T;i++){
scanf("%d %d %d %d %d %d %d %d",&a1,&a2,&b1,&b2,&c1,&c2,&d1,&d2);
if((a1-b1)*(c2-d2)==(a2-b2)*(c1-d1)){
printf("pingxing\n");
}
else{
printf("xiangjiao\n");
}
}
return 0;
}
ps:用行列式解决真的很有效率,学了没用一下忘这个知识点