Pagini recente » Cod sursa (job #189431) | Cod sursa (job #2531454) | Cod sursa (job #220521) | Cod sursa (job #1170997) | Cod sursa (job #935521)
Cod sursa(job #935521)
#include<stdio.h>
#include<algorithm>
using namespace std;
struct jap
{
double x,y;
}v[200005],v2[200005];
bool cmp(jap a,jap b)
{
return a.y<=b.y;
}
int main()
{
freopen("rays.in","r",stdin);
freopen("rays.out","w",stdout);
int n,i,nr=0,m1=0,m2=0;
double x1,y2,y1,j,dr;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%lf%lf%lf",&x1,&y1,&y2);
if(y1>y2)
{
j=y1;
y1=y2;
y2=j;
}
if(x1>0)
{
m1++;
v[m1].x=y1/x1;
v[m1].y=y2/x1;
}
else
{
m2++;
v2[m2].x=y1/x1*-1;
v2[m2].y=y2/x1*-1;
}
}
sort(v+1,v+m1+1,cmp);
sort(v2+1,v2+m2+1,cmp);
if(m1>0)
{
nr++;
dr=v[1].y;
for(i=2;i<=m1;i++)
{
if(v[i].x>dr)
{
nr++;
dr=v[i].y;
}
}
}
if(m2>0)
{
nr++;
dr=v2[1].y;
for(i=2;i<=m2;i++)
{
if(v2[i].x>dr)
{
nr++;
dr=v2[i].y;
}
}
}
printf("%d\n",nr);
return 0;
}