poj 1269 Intersecting Lines

原创 2012年03月21日 17:00:59

题意:若两直线平行,输出NONE

           两直线相交输出交点

          两直线为同一直线,输出LINE

#include <stdio.h>
#define INF 0xfffffff
struct Point
{
	int x,y;
};
Point list[5];

int main(int argc, char *argv[])
{
	int T,i;
	float k12,k13,k34,k14;
	float X,Y;
	scanf("%d",&T);
	printf("INTERSECTING LINES OUTPUT\n");
	while(T--)
	{
	   scanf("%d%d%d%d%d%d%d%d",&list[1].x,&list[1].y,&list[2].x,&list[2].y,
	                            &list[3].x,&list[3].y,&list[4].x,&list[4].y);
	   //求斜率 
	   if(list[1].x==list[2].x)   k12=INF;							
         else  k12=(float)(list[1].y-list[2].y)/(float)(list[1].x-list[2].x);
       if(list[1].x==list[3].x)   k13=INF;
	     else k13=(float)(list[1].y-list[3].y)/(float)(list[1].x-list[3].x);
	   if(list[3].x==list[4].x)   k34=INF;
	     else k34=(float)(list[3].y-list[4].y)/(float)(list[3].x-list[4].x);
	   if(list[1].x==list[4].x)   k14=INF;
	     else k14=(float)(list[4].y-list[1].y)/(float)(list[4].x-list[1].x);
	   //当第一点和第三点和第四点所形成的斜率相同则为同一直线  
	   if(k12==k13 && k12==k14) printf("LINE\n");
	   else if(k12==k34)  printf("NONE\n");
	   else 
	   {//加入有一条直线斜率是不存在的 
	   	  if(k12==INF)
	   	  {
  	   		 X=list[1].x;
  	   		 Y=k34*X+list[3].y-k34*list[3].x;
  	   	  }
  	   	  else
	      {
		     X=(float)(list[1].y-list[3].y-k12*list[1].x+k34*list[3].x)/(float)(k34-k12);
	         Y=k12*X+list[1].y-k12*list[1].x;
	      }
		  printf("POINT %.2f %.2f\n",X,Y);			
	   }
	   if(!T) printf("END OF OUTPUT\n");
	}
	return 0;
}


 

POJ 1269 Intersecting Lines

判断直线相交及求交点,可能会有斜率不存在的情况 #include #include int main() { double x1, y1, x2, y2, x3, y3, x...
  • u012325108
  • u012325108
  • 2013年10月03日 22:07
  • 300

poj 1269 Intersecting Lines

Description We all know that a pair of distinct points on a plane defines a line and that a pair ...
  • u011403366
  • u011403366
  • 2013年08月31日 12:56
  • 382

POJ 1269 Intersecting Lines

We all know that a pair of distinct points on a plane defines a line and that a pair of lines on a p...
  • jtjy568805874
  • jtjy568805874
  • 2017年04月16日 22:50
  • 169

【poj 1269】Intersecting Lines

http://poj.org/problem?id=1269 真是个令人忧桑的故事。。。 #include #include #include #include #incl...
  • willinglive
  • willinglive
  • 2015年03月10日 17:41
  • 260

Poj 1269 Intersecting Lines

Description We all know that a pair of distinct points on a plane defines a line and that a pai...
  • acmmiao
  • acmmiao
  • 2016年07月04日 09:14
  • 86

POJ 1269 Intersecting Lines

Intersecting Lines Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 16736 Accepted: 7213...
  • Ever_glow
  • Ever_glow
  • 2017年09月12日 21:10
  • 356

POJ 1269 Intersecting Lines

B Time Limit:1000MS     Memory Limit:10000KB     64bit IO Format:%I64d & %I64u Submit Status Pra...
  • yeguxin
  • yeguxin
  • 2014年08月25日 20:52
  • 363

POJ 1269 Intersecting Lines

Intersecting LinesTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 3957 Accepted: 1904Descr...
  • sushizhuyilang
  • sushizhuyilang
  • 2010年08月11日 09:20
  • 214

POJ 1269 Intersecting Lines

Intersecting Lines Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 9871...
  • u014492513
  • u014492513
  • 2014年04月15日 15:36
  • 426

Intersecting Lines POJ - 1269

#include #include using namespace std; /* 判断直线是否相交或者共线,并求出交点 */ const double ESP = 1e-10; int dcm...
  • qq_30388187
  • qq_30388187
  • 2017年11月30日 22:45
  • 27
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:poj 1269 Intersecting Lines
举报原因:
原因补充:

(最多只允许输入30个字)