Pagini recente » Cod sursa (job #2153994) | Cod sursa (job #270986) | Cod sursa (job #1557924) | Cod sursa (job #2933348) | Cod sursa (job #8325)
Cod sursa(job #8325)
#include <stdio.h>
#include <vector>
#include <algorithm>
#define NMAX 50500
#define max(a, b) ((a) > (b) ? (a):(b))
using namespace std;
int N, X, Y, maxX, maxY, Num;
vector<pair<int, int> > Cadran[4];
int main()
{
int i, x, y, j;
freopen("pachete.in", "r", stdin);
scanf("%d %d %d", &N, &X, &Y);
for (i = 0; i < N; i++)
{
scanf("%d %d", &x, &y);
x -= X; y -= Y;
if (x >= 0 && y >= 0) Cadran[0].push_back(make_pair(x, y));
if (x >= 0 && y < 0) Cadran[1].push_back(make_pair(x, y));
if (x < 0 && y < 0) Cadran[2].push_back(make_pair(x, y));
if (x < 0 && y >= 0) Cadran[3].push_back(make_pair(x, y));
}
for (i = 0; i < 4; i++)
{
sort(Cadran[i].begin(), Cadran[i].end());
maxX = -1; maxY = -1;
for (j = 0; j < Cadran[i].size(); j++)
{
x = abs(Cadran[i][j].first); y = abs(Cadran[i][j].second);
if ( (maxX > x && maxY <= y) || (maxX <= x && maxY > y) || (maxX < 0) )
Num++;
maxX = max(x, maxX); maxY = max(y, maxY);
}
}
freopen("pachete.out", "w", stdout);
printf("%d\n", Num);
return 0;
}