代码
#include <iostream>
using namespace std;
struct line{
int xa;
int ya;
int xb;
int yb;
int getMax_x ( )
{
return xa > xb ? xa : xb;
}
int getMin_x ( )
{
return xa < xb ? xb : xa;
}
int getMax_y ( )
{
return ya > yb ? ya : yb;
}
int getMin_y ( )
{
return ya < yb ? yb : ya;
}
} line1, line2;
bool is_intersect ( line l1, line l2)
{
if ( l1. getMax_x ( ) < l2. getMin_x ( ) || l2. getMax_x ( ) < l1. getMin_x ( ) || l1. getMax_y ( ) < l2. getMin_y ( ) || l2. getMax_y ( ) < l1. getMin_y ( ) )
return false ;
int res1 = ( l1. xa - l1. xb) * ( l1. ya - l2. ya) - ( l1. ya - l1. yb) * ( l1. xa - l2. xa) ;
int res2 = ( l1. xa - l1. xb) * ( l1. ya - l2. yb) - ( l1. ya - l1. yb) * ( l1. xa - l2. xb) ;
int res3 = ( l2. xa - l2. xb) * ( l2. ya - l1. ya) - ( l2. ya - l2. yb) * ( l2. xa - l1. xa) ;
int res4 = ( l2. xa - l2. xb) * ( l2. ya - l1. yb) - ( l2. ya - l2. yb) * ( l2. xa - l1. xb) ;
if ( res1* res2 <= 0 && res3 * res4 <= 0 )
return true ;
else
return false ;
}
int main ( )
{
return 0 ;
}