Pagini recente » Cod sursa (job #2486725) | Cod sursa (job #1596070) | Rating Manole Catalin Gabriel (RAHFEL) | Cod sursa (job #2436874) | Cod sursa (job #935518)
Cod sursa(job #935518)
#include<stdio.h>
#include<algorithm>
#include<vector>
using namespace std;
struct jap
{
double x,y;
};
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;
jap d;
d.x=0;
d.y=0;
vector<jap> v,v2;
v.push_back(d);
v2.push_back(d);
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++;
d.x=y1/x1;
d.y=y2/x1;
v.push_back(d);
}
else
{
m2++;
d.x=y1/x1*-1;
d.y=y2/x1*-1;
v2.push_back(d);
}
}
stable_sort(v.begin()+1,v.end()+1,cmp);
stable_sort(v2.begin()+1,v2.end()+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;
}