标签:des style blog http color os
Time Limit: 1000MS | Memory Limit: 10000K | |
Total Submissions: 2934 | Accepted: 1874 |
Description
Input
Output
Sample Input
2 10 1 4 5 2 9 8 3 5 9 4 1 7 5 3 2 6 6 3 7 10 10 8 8 1 9 2 4 10 7 6 14 1 6 11 2 11 9 3 8 7 4 12 8 5 9 20 6 3 2 7 1 6 8 2 13 9 15 1 10 14 17 11 13 19 12 5 18 13 7 3 14 10 16
Sample Output
10 8 7 3 4 9 5 6 2 1 10 14 9 10 11 5 12 8 7 6 13 4 14 1 3 2
Source
1 #include <iostream> 2 #include <cstring> 3 #include <cstdio> 4 #include <algorithm> 5 using namespace std; 6 7 const int maxn = 55; 8 struct point 9 { 10 int id; 11 int x; 12 int y; 13 }poin[maxn]; 14 15 bool cmp(point p1, point p2){ 16 if(p1.y != p2.y) 17 return p1.y < p2.y; 18 return p1.x < p2.x; 19 } 20 21 int cross(point p0, point p1, point p2) 22 { 23 return (p1.x - p0.x)*(p2.y - p0.y) - (p2.x - p0.x)*(p1.y - p0.y); 24 } 25 26 int Distance(point p1, point p2) 27 { 28 return (p2.x - p1.x)*(p2.x - p1.x) + (p2.y - p1.y)*(p2.y - p1.y); 29 } 30 int pos; 31 32 bool Polar_cmp(point p1, point p2) 33 { 34 int tmp = cross(poin[pos], p1, p2); 35 if(tmp) 36 return tmp > 0; 37 return Distance(poin[pos], p1) <= Distance(poin[pos], p2); 38 } 39 40 int main() 41 { 42 int t, n; 43 scanf("%d",&t); 44 while(t--){ 45 scanf("%d", &n); 46 for(int i = 0; i < n; i++) 47 scanf("%d %d %d",&poin[i].id, &poin[i].x, &poin[i].y); 48 int ans[maxn]; 49 int k = 0; 50 sort(poin, poin + n, cmp); 51 pos = 0; 52 int cnt = n - 1; 53 for(int i = 1; i <= cnt; i++) 54 { 55 sort(poin + i, poin + n, Polar_cmp); 56 //printf("*%d ",poin[i].id); 57 pos++; 58 } 59 printf("%d",n); 60 for(int i = 0; i < n; i++) 61 printf(" %d",poin[i].id); 62 puts(""); 63 } 64 return 0; 65 }
poj1696/hlg1318 蛋疼的蚂蚁,码迷,mamicode.com
标签:des style blog http color os
原文地址:http://www.cnblogs.com/zhanzhao/p/3703038.html