Pagini recente » Cod sursa (job #2895633) | Cod sursa (job #946153) | Cod sursa (job #2587667) | Cod sursa (job #2877589) | Cod sursa (job #3167144)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
int n,i,j,st,dr,mid,nrdr;
pair <int,int> clnt[50001],minim[50001];
int main()
{
ifstream fin("pachete.in");
ofstream fout("pachete.out");
fin>>n;
fin>>clnt[50000].first>>clnt[50000].second;
nrdr=n;
for(i=0;i<n;i++){
fin>>clnt[i].first>>clnt[i].second;
minim[i].first=abs(clnt[i].first-clnt[50000].first)+abs(clnt[i].second-clnt[50000].second);
minim[i].second=i;
}
sort(minim,minim+n);
for(i=n-1;i>=0;i--){
if(clnt[minim[i].second].first!=-1){
for(j=0;j<n;j++){
if(clnt[j].first>=min(clnt[minim[i].second].first,clnt[50000].first)&&clnt[j].first<=max(clnt[minim[i].second].first,clnt[50000].first)&&clnt[j].second>=min(clnt[minim[i].second].second,clnt[50000].second)&&clnt[j].second<=max(clnt[minim[i].second].second,clnt[50000].second)&&j!=minim[i].second){
clnt[j].first=-1;
cout<<j<<" "<<i<<" "<<minim[i].second<<'\n';
nrdr--;
}
}
clnt[minim[i].second].first=-1;
}
}
fout<<nrdr;
return 0;
}