Pagini recente » Cod sursa (job #56167) | Cod sursa (job #39577) | Cod sursa (job #1757067) | Cod sursa (job #1367340) | Cod sursa (job #474208)
Cod sursa(job #474208)
#include <stdio.h>
struct line
{
int x, y1, y2;
} v[200002];
struct segm
{
double st, dr;
} p[200002];
int n, nr, sol;
void rez ()
{
int i;
double dr = -2000000000;
for (i = 1; i <= nr; i ++)
if (dr < p[i].st)
{
dr = p[i].dr;
sol ++;
}
}
int main ()
{
freopen ("rays.in", "r", stdin);
freopen ("rays.out", "w", stdout);
scanf ("%d", &n);
int i;
for (i = 1; i <= n; i ++)
{
scanf ("%d %d %d", &v[i].x, &v[i].y1, &v[i].y2);
if (v[i].x > 0)
{
p[++nr].st = (double) v[i].y1 / v[i].x;
p[nr].dr = (double) v[i].y2 / v[i].x;
}
}
rez ();
nr = 0;
for (i = 1; i <= n; i ++)
if (v[i].x < 0)
{
p[++nr].st = (double) -v[i].y1 / v[i].x;
p[nr].dr = (double) -v[i].y2 / v[i].x;
}
rez ();
printf ("%d\n", sol);
return 0;
}