Pagini recente » Cod sursa (job #146362) | Cod sursa (job #2477018) | Cod sursa (job #2147867) | Cod sursa (job #1541251) | Cod sursa (job #1448581)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream in("rays.in");
ofstream out("rays.out");
struct art
{
long long x,y,y1;
};
art aux,a[200003],b[200003];
bool cmp(art a, art b)
{
return (a.y1 * b.x < a.x * b.y1);
}
int n,la,lb,sol;
int main()
{
in>>n;
for(int i=1; i<=n; i++)
{
in>>aux.x>>aux.y>>aux.y1;
if(aux.y>aux.y1)swap(aux.y,aux.y1);
if(aux.x<0)
{
aux.x*=-1;
a[++la]=aux;
}
else b[++lb]=aux;
}
if(la)
{
sol++;
sort(a+1,a+la+1,cmp);
long long x=a[1].x, y=a[1].y1;
for(int i=2;i<=la;i++)
if(a[i].x * y < a[i].y * x)
{
sol++;
x=a[i].x;
y=a[i].y1;
}
}
if(lb)
{
sol++;
sort(b+1,b+lb+1,cmp);
long long x=b[1].x, y=b[1].y1;
for(int i=2;i<=lb;i++)
if(b[i].x * y < b[i].y * x)
{
sol++;
x=b[i].x;
y=b[i].y1;
}
}
out<<sol<<'\n';
out.close();
return 0;
}