Pagini recente » Cod sursa (job #2860980) | Cod sursa (job #242633) | Cod sursa (job #691893) | Cod sursa (job #1884330) | Cod sursa (job #3166650)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
int n,cnt,i,j,k,aux,x,st,dr,mid,nrdr,CXpos,CYpos,pos,adv;
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;
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);
adv=1;
while(adv==1){
adv=0;
CXpos=clnt[50000].first; CYpos=clnt[50000].second; pos=50000;
while(pos!=aux){
aux=pos;
for(i=0;i<n;i++){
if(clnt[minim[i].second].first!=-1){
adv=1;
if(minim[i].first==(abs(CXpos-clnt[minim[i].second].first)+abs(CYpos-clnt[minim[i].second].second)+minim[pos].first)){
CXpos=clnt[minim[i].second].first;
CYpos=clnt[minim[i].second].second;
clnt[minim[i].second].first=-1;
pos=i;
//cout<<CXpos<<" "<<CYpos<<" "<<i<<'\n';
//break;
}
}
}
if(pos==aux&&pos!=50000){
nrdr++;
}
//cout<<1<<'\n';
}
}
fout<<nrdr;
fin.close();
fout.close();
return 0;
}