Cod sursa(job #25626)

Utilizator rinfoPopescu Razvan rinfo Data 4 martie 2007 13:11:58
Problema Pachete Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include<fstream.h>
#include<stdlib.h>
int i,n;
typedef struct chr{int a,b,c,d;}; chr aux,A,v[1000];

void sortare(){
for(int j=0; j<n-1; j++)
for(i=0; i<n-1; i++)
   if(v[i].c<v[i+1].c){aux=v[i]; v[i]=v[i+1]; v[i+1]=aux;}


}



int desc(int c1,int c2, int d1, int d2){
int x,y;

  x=c1-d1;
  y=c2-d2;
  if(x<0) x*=-1;
  if(y<0) y*=-1;
 return x+y;
}



int main(){

ifstream f("pachete.in");
f>>n;
f>>A.a>>A.b;

for(i=0; i<n; i++) {f>>v[i].a>>v[i].b; v[i].c=desc(A.a,A.b,v[i].a,v[i].b);}
f.close();
sortare();


for(int j=0; j<n-1; j++)
for(i=j+1; i<n; i++)
if((v[i].a>=0)&&((desc(A.a,A.b,v[i].a,v[i].b)+ desc(v[i].a,v[i].b,v[j].a,v[j].b))== desc(A.a, A.b,v[j].a,v[j].b)))
	       {v[j].d=v[j].d*10+i;    v[i].a=-1;}

ofstream g("pachete.out");
int s=0;
for(i=0; i<n; i++) if(v[i].a>0) s++;
g<<s;
g.close();



return 0;
}