/** * Railroad Conflict (Problem D, Practice Contest for Japan Domestic, 2006-06-18) * by Kenji Inoue, 2007-01-07 **/ #include #include #include using namespace std; typedef complex P; #define EPS (1e-9) double cross(P a, P b) { return (a.real() * b.imag() - a.imag() * b.real()); } int is_intersected(P a1, P a2, P b1, P b2) { return ( ( cross(a2-a1, b1-a1) * cross(a2-a1, b2-a1) < EPS ) && ( cross(b2-b1, a1-b1) * cross(b2-b1, a2-b1) < EPS ) ); } P s[101], t[101]; int c[101], l[101]; struct intersection { double t; // parameter t int n; // index of intersected line bool operator<(const intersection &a) const { return (t < a.t); } }; int main() { int N; cin >> N; while (N--) { P a, b; cin >> a.real() >> a.imag(); cin >> b.real() >> b.imag(); int n; cin >> n; for (int i=0; i> s[i].real() >> s[i].imag(); cin >> t[i].real() >> t[i].imag(); cin >> c[i] >> l[i]; } vector is; for (int i=0; i 0) { int idx = is[0].n; curr = (c[idx] == 1 ? l[idx] : !l[idx]); } int cnt = 0; for (int i=1; i