Pagini recente » Cod sursa (job #703164) | Cod sursa (job #1995100) | Cod sursa (job #964559) | Cod sursa (job #3255126) | Cod sursa (job #1528250)
#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;
int X,Y1,Y2,n,i,nr=0;
vector< pair<double,double> > V[2];
double x,y,ult;
inline void solve(int x)
{
sort(V[x].begin(),V[x].end());
int i;
ult=-0.1-(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(Y1>Y2) nr=Y1, Y1=Y2, Y2=nr;
x=(double)Y1/X;
y=(double)Y2/X;
if(X<0) V[0].push_back({-y,-x});
else V[1].push_back({y,x});
}
nr=0;
solve(0);solve(1);
printf("%d\n",nr);
return 0;
}