fork download
  1. #include<iostream>
  2. #include<vector>
  3. using namespace std;
  4. typedef long long bigint;
  5. int main(){
  6. long long T,N,i,j,k,xj,yj,exj,eyj;
  7. bigint x,y,maxx,maxy,minx,miny;
  8. vector<pair<bigint,bigint> >vec;
  9. vector<pair<bigint,bigint> >::iterator it;
  10. cin>>T;
  11.  
  12. for(i=0;i<T;i++){
  13. exj=0;eyj=0;xj=0;yj=0;
  14. cin>>N;
  15. vec.clear();
  16. for(j=0;j<N;j++){
  17. cin>>x>>y;
  18. vec.push_back(pair<bigint,bigint>(x,y));
  19. }
  20. it=vec.begin();
  21. for(j=0;j<N;j++){
  22. if(j==0){maxx=(*it).first;minx=(*it).first;maxy=(*it).second;miny=(*it).second;xj=0;yj=0;exj=0;eyj=0;}
  23. if(maxx<=(*it).first){maxx=(*it).first;xj=j;}
  24. if(maxy<=(*it).second){maxy=(*it).second;yj=j;}
  25. if(minx>=(*it).first){minx=(*it).first;exj=j;}
  26. if(miny>=(*it).second){miny=(*it).second;eyj=j;}
  27. ++it;
  28. }
  29. k=-1;
  30. for(it=vec.begin();it!=vec.end();++it){
  31. k++;
  32. if((*it).first==maxx){if((*it).second==maxy){xj=k;yj=k;}
  33. if((*it).second==miny){xj=k;eyj=k;}
  34.  
  35.  
  36. }
  37. else if((*it).first==minx){if((*it).second==maxy){exj=k;yj=k;}
  38. if((*it).second==miny){exj=k;eyj=k;} }
  39.  
  40.  
  41. }
  42.  
  43.  
  44. int p=1;
  45. if(yj==xj){cout<<p<<endl;
  46. cout<<++xj<<" SW"<<endl;
  47. continue;
  48. }
  49. if(yj==exj){cout<<p<<endl;
  50. cout<<++yj<<" SE"<<endl;
  51. continue;
  52. }
  53. if(eyj==xj){cout<<p<<endl;
  54. cout<<++xj<<" NW"<<endl;
  55. continue;
  56. }
  57. if(eyj==exj){cout<<p<<endl;
  58. cout<<++exj<<" NE"<<endl;
  59. continue;
  60. }
  61. if(yj==eyj){cout<<p<<endl;
  62. cout<<++xj<<" NW"<<endl;
  63. continue;
  64. }
  65. if(xj==exj){cout<<p<<endl;
  66. cout<<++yj<<" SW"<<endl;
  67. continue;
  68. }
  69. cout<<p+1<<endl;
  70. cout<<++xj<<" NW"<<endl;
  71. cout<<++exj<<" SE"<<endl;
  72. }
  73. return 0;
  74. }
  75.  
Runtime error #stdin #stdout #stderr 3.06s 528384KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
terminate called after throwing an instance of 'std::bad_alloc'
  what():  std::bad_alloc