Cod sursa(job #41629)

Utilizator Bluedrop_demonPandia Gheorghe Bluedrop_demon Data 28 martie 2007 13:58:56
Problema Regiuni Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.8 kb
{
    Problema regiuni
}

Program regiuni;

Type dreapta = record
                a, b, c : Longint;
               end;
     elm = record
            x, y : Longint;
           end;
     vector = array[1..1000] of elm;

Var n, m, i, grf : Longint;
    d : array[1..1000] of dreapta;
    vert, cod : boolean;
    mm, nn : real;
    ki, kf, j : Integer;
    v : vector;

Begin
    Assign( input, 'regiuni.in' );
    Reset( input );
        Readln( n, m );
        For i := 1 to n do
            Readln( d[i].a, d[i].b, d[i].c );
        For i := 1 to m do
                Readln( v[i].x, v[i].y );
    Close( input );

    grf := 1;
    For i := 1 to n do
        Begin
            If d[i].b = 0 then
                Begin
                    vert := true;
                    mm := 0;
                    nn := -d[i].c/d[i].a;
                End
                else
                Begin
                    vert := false;
                    mm := -d[i].a/d[i].b;
                    nn := -d[i].c/d[i].b;
                End;
                ki := 0;
                kf := 0;
                For j := 1 to m do
                    Begin
                        Case vert of
                            true: if v[j].x > nn then cod := true
                                                 else cod := false;
                            false: if v[j].y < mm*v[j].x + nn then cod := true
                                                              else cod := false;
                        End;
                        If cod then ki := 1 else kf := 1;
                    End;
            if ( ki = 1  ) and ( kf = 1 ) then grf := grf+1;
        End;

    Assign( output, 'regiuni.out' );
    Rewrite( output );
        Writeln( grf );
    Close( output );

End.