Pagini recente » Cod sursa (job #746191) | Cod sursa (job #2901001) | Cod sursa (job #344635) | Cod sursa (job #1395269) | Cod sursa (job #1527734)
#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;
int X,Y1,Y2,n,i,ult,nr=0;
vector< pair<double,double> > V[2];
double x,y;
inline void solve(int x)
{
sort(V[x].begin(),V[x].end());
int i;ult=-(1<<30);
for(i=0;i<V[x].size();++i)
if(V[x][i].second>ult)
{
ult=V[x][i].first;
++nr;
}
}
int main()
{
freopen("rays.in","r",stdin);
freopen("rays.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;++i)
{
scanf("%d%d%d",&X,&Y1,&Y2);
if(X<0)
{
x=(double)Y2/X;y=(double)Y1/X;
if(x<y) V[0].push_back({y,x});
else V[0].push_back({x,y});
}
else
{
x=(double)Y2/X;y=(double)Y1/X;
if(x<y) V[1].push_back({y,x});
else V[1].push_back({x,y});
}
}
nr=0;
solve(0);solve(1);
printf("%d\n",nr);
return 0;
}