#include <iostream> using namespace std; /*同一条直线的情况*/ double x1, x2, x3, x4; double y1, y2, y3, y4; int main() { while(cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3 >> x4 >> y4) { double dx1 = x2 - x1; double dy1 = y2 - y1; double dx2 = x4 - x3; double dy2 = y4 - y3; int f = 1; if(dx1 || dx2) { double k1 = dy1 / dx1; double k2 = dy2 / dx2; if(k1 == k2 && (y2 - k1 * x2) != (y4 - k2 * x4)) f = 0; // 斜率同,但是为两条不同的直线 } else if(dx1 == 0 && dx2 == 0 && x3 != x1) f = 0; // 垂直,但是为两条不同的直线 if(f) cout << "Yes" << endl; else cout << "No" << endl; } return 0; } |
Double click to view unformatted code.