Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 5th, 2012  |  syntax: C++  |  size: 0.86 KB  |  hits: 12  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. #include<iostream>
  2. #include<algorithm>
  3. #include<cmath>
  4. #include<fstream>
  5. using namespace std;
  6. ifstream f1("outlets.in");
  7. ofstream f2("outlets.out");
  8.  
  9. int N,K,x[12],y[12],c[12];
  10. int i,j,u[12],v[12],l[12],ans=15;
  11. double d[12];
  12.  
  13. void check(){
  14.      sort(d,d+N);
  15.      reverse(d,d+N);
  16.      
  17.      int i,r=0,cur=0;;
  18.      for(i=0;i<N;i++)
  19.       if(l[r]<d[i])cur++;else r++;
  20.      ans=min(ans,cur);
  21. }    
  22.  
  23.  
  24. main()
  25. {f1>>N>>K;
  26.  for(i=0;i<N;i++)f1>>l[i];
  27.  for(i=0;i<N;i++)f1>>x[i]>>y[i];
  28.  for(i=0;i<K;i++)f1>>u[i]>>v[i];
  29.  
  30.  for(i=K;i<N;i++)u[i]=v[i]=100000;
  31.  
  32.  sort(l,l+N); reverse(l,l+N);
  33.  
  34.  for(i=0;i<N;i++)c[i]=i;
  35.  
  36.  do{
  37.   for(i=0;i<N;i++)
  38.    d[i]=(double)sqrt((x[i]-u[c[i]])*(x[i]-u[c[i]])+
  39.                      (y[i]-v[c[i]])*(y[i]-v[c[i]]));
  40.  
  41.   check();
  42.                         }
  43.  while(next_permutation(c,c+N));
  44.  
  45.  f2<<ans<<endl;
  46. }