Pagini recente » Cod sursa (job #1805541) | Cod sursa (job #1258624) | Cod sursa (job #2047604) | Cod sursa (job #2161168) | Cod sursa (job #2561463)
#include <iostream>
#include <algorithm>
#include <fstream>
using namespace std;
ifstream f ( "pachete.in" );
ofstream g ( "pachete.out" );
double v1[50003], v2[50003];
struct punct
{
int x, y;
};
int main()
{
int n, lv1 = 0, lv2 = 0;
punct in, pct;
f >> n;
f >> in.x >> in.y;
for ( int i = 1; i <= n; i++ )
{
f >> pct.x >> pct.y;
if ( pct.x > in.x )
v1[++lv1] = ( pct.x - in.x ) * 1.0 / ( pct.y - in.y );
else v2[++lv2] = ( pct.x - in.x ) * 1.0 / ( pct.y - in.y );
}
int nrl = 0;
if ( lv1 >= 1 )
{
sort ( v1 + 1, v1 + lv1 + 1 );
nrl++;
for ( int i = 2; i <= lv1; i++ )
if ( v1[i] != v1[i - 1] )
nrl++;
}
if ( lv2 >= 1 )
{
sort ( v2 + 1, v2 + lv2 + 1 );
nrl++;
for ( int i = 2; i <= lv2; i++ )
if ( v2[i] != v2[i - 1] )
nrl++;
}
g << nrl;
return 0;
}