Exemplo n.º 1
0
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;
}
Exemplo n.º 2
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);
}