Pagini recente » Cod sursa (job #2819933) | Cod sursa (job #1444424) | Cod sursa (job #186715) | Cod sursa (job #746963) | Cod sursa (job #1787456)
#include <fstream>
#include <algorithm>
#include <vector>
#define CEVA 50005
using namespace std;
ifstream fin("pachete.in");
ofstream fout("pachete.out");
long n, i, nr_drumuri=0;
long long x_sediu, y_sediu, x_client, y_client;
vector < pair<long,long> > clienti_1;
vector < pair<long,long> > clienti_2;
vector < pair<long,long> > clienti_3;
vector < pair<long,long> > clienti_4;
int main()
{
fin>>n;
fin>>x_sediu>>y_sediu;
for(int i=1; i<=n; i++){
fin>>x_client>>y_client;
//determin directia fata de sediu: 1=Nord-Est, 2=Nord-Vest, 3=Sud-Vest, 4=Sud-Est
if(y_client>y_sediu){
//se afla la Nord de sediu
if(x_client>x_sediu){
//se afla la Est de sediu -> Nord-Est -> 1
clienti_1.push_back(make_pair(x_client-x_sediu, y_client-y_sediu));
}
else{
//se afla la Vest de sediu -> Nord-Vest -> 2
clienti_2.push_back(make_pair(x_sediu-x_client, y_client-y_sediu));
}
}
else{
//se afla la Sud de sediu
if(x_client<x_sediu){
//se afla la Vest de sediu -> Sud-Vest -> 3
clienti_3.push_back(make_pair(x_sediu-x_client, y_sediu-y_client));
}
else{
//se afla la Est de sediu -> Sud-Est -> 4
clienti_4.push_back(make_pair(x_client-x_sediu, y_sediu-y_client));
}
}
}
sort(clienti_1.begin(), clienti_1.end());
sort(clienti_2.begin(), clienti_2.end());
sort(clienti_3.begin(), clienti_3.end());
sort(clienti_4.begin(), clienti_4.end());
if(clienti_1.size()){
i=clienti_1.size()-1;
nr_drumuri++;
while(i>=1){
if(clienti_1[i].second<clienti_1[i-1].second){
nr_drumuri++;
}
i--;
}
}
if(clienti_2.size()){
i=clienti_2.size()-1;
nr_drumuri++;
while(i>=1){
if(clienti_2[i].second<clienti_2[i-1].second){
nr_drumuri++;
}
i--;
}
}
if(clienti_3.size()){
i=clienti_3.size()-1;
nr_drumuri++;
while(i>=1){
if(clienti_3[i].second<clienti_3[i-1].second){
nr_drumuri++;
}
i--;
}
}
if(clienti_4.size()){
i=clienti_4.size()-1;
nr_drumuri++;
while(i>=1){
if(clienti_4[i].second<clienti_4[i-1].second){
nr_drumuri++;
}
i--;
}
}
cout<<nr_drumuri;
return 0;
}