Pagini recente » Cod sursa (job #6085) | Cod sursa (job #219037) | Cod sursa (job #2180406) | Cod sursa (job #692803) | Cod sursa (job #7019)
Cod sursa(job #7019)
#include <fstream.h>
#include <math.h>
void read();
void make();
void write();
struct punct
{
int x;
int y;
int dist;
}a[100],s;
int n,max;
int main()
{
read();
make();
write();
return 0;
}
void read()
{
int i;
ifstream fin("pachete.in");
fin >> n;
fin >> s.x >> s.y;
for (i=0; i<n; i++)
fin >> a[i].x >> a[i].y;
}
void make()
{
int i,j,maxDist=0;
for (i=0; i<n; i++)
{
a[i].dist = abs(s.x-a[i].x) + abs(s.y-a[i].y);
if (a[i].dist > maxDist) maxDist = a[i].dist;
}
for (i=0; i<n; i++)
{
if (a[i].dist == maxDist)
{
a[i].dist = -1;
max++;
}
}
for (i=0; i<n-1; i++)
{
if (a[i].dist==-1) continue;
for (j=i+1; j<n; j++)
{
if (a[j].dist==-1) continue;
if ( (a[i].dist + a[j].dist) <= maxDist )
{
a[i].dist = -1;
a[j].dist = -1;
max++;
}
}
}
}
void write()
{
ofstream fout("pachete.out");
fout << max << '\n';
}