int main() { //freopen("","r",stdin); //freopen("","w",stdout); int i,j,k; int n; while ( ~scanf ( "%d",&n ) ) { vector<point>L; for ( i=0; i<n; i++ ) { u[i].in(); v[i].in(); L.PB ( u[i] ); L.PB ( v[i] ); } w.in(); int ans=n+1; for ( i=0; i<L.SZ; i++ ) { vector<point>IS; point is; for ( j=0; j<n; j++ ) { int k=isLL ( u[j],v[j],w,L[i],is ); if ( !k ) continue; if ( !fitin ( is,u[j],v[j] ) ) continue; if ( !fitin ( is,w,L[i] ) ) continue; IS.PB ( is ); } cmin ( ans, ( int ) IS.SZ ); } printf ( "Number of doors = %d\n",ans ); } return 0; }
int main() { while (1) { o.in(); int n; scanf("%d",&n); if (n==0) break; for (int i=1;i<=n;i++) { p[i].in(); scanf("%dx%dy%d=0",&a[i],&b[i],&c[i]); } int sum=0; for (int i=1;i<=n;i++) { point dir=(p[i]-o).rotate(); sum+=sign(dot(dir,point(a[i],b[i])))==1; } printf("%d\n",sum*(n-sum)); } return(0); }