Submission #5716

#TimeUsernameProblemLanguageResultExecution timeMemory
5716baneling100Divide into triangle (kriii1_D)C++98
1 / 1
0 ms1332 KiB
#include <stdio.h> #include <algorithm> #include <math.h> #define inf 0x7fffffff #define pi 3.141592653589793238 using namespace std; typedef pair <int,int> ppair; typedef pair <ppair,int> pppair; pair <double,pppair> p[901]; int N; void input(void) { int i, x, y, minx=inf, miny=inf; scanf("%d",&N); for(i=1 ; i<=3*N ; i++) { scanf("%d %d",&x,&y); p[i]=make_pair(0,make_pair(make_pair(x,y),i)); if(miny>y) { miny=y; minx=x; } else if(miny==y) if(minx>x) minx=x; } for(i=1 ; i<=3*N ; i++) p[i].first=atan2(p[i].second.first.second-miny,p[i].second.first.first-minx); sort(p+1,p+3*N+1); } void output(void) { int i; for(i=0 ; i<N ; i++) printf("%d %d %d\n",p[3*i+1].second.second,p[3*i+2].second.second,p[3*i+3].second.second); } int main(void) { input(); output(); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...