Pagini recente » Cod sursa (job #1881389) | Cod sursa (job #81331)
Cod sursa(job #81331)
#include <stdio.h>
#define infile "regiuni.in"
#define outfile "regiuni.out"
#define nmax 1000
struct punct { int x,y; };
struct dreapta { int a ,b ,c; };
punct pct[nmax];
dreapta dr[nmax];
int i, j, n, m;
long c[nmax];
long max=1, rez;
short uz[500501];
void readdata();
void solve();
void writedata();
int ok(punct,dreapta);
int main()
{
readdata();
solve();
writedata();
return 0;
}
void readdata()
{
freopen(infile, "r", stdin);
scanf("%d %d\n", &n, &m);
for (i=1; i<=n; i++)
scanf("%d %d %d\n", &dr[i].a, &dr[i].b, &dr[i].c);
for (i=1; i<=m; i++)
scanf("%d %d\n", &pct[i].x, &pct[i].y);
fclose(stdin);
}
void writedata()
{
freopen(outfile, "w", stdout);
printf("%ld\n", rez);
fclose(stdout);
}
void solve()
{
for (i=1; i<=m; i++)
{
for (j=1; j<=n; j++)
if (ok(pct[i],dr[j]))
c[i]+=j;
if (!uz[c[i]])
{
uz[c[i]]=1;
rez++;
}
}
}
int ok(punct p, dreapta d)
{
if (d.a*p.x+d.b*p.y+d.c<0) return 1;
return 0;
}