fork(1) download
  1. #include <iostream>
  2. #include <cstdio>
  3. #include <cmath>
  4. #include <cstdlib>
  5. using namespace std;
  6. int arr[100005][2];
  7.  
  8. typedef struct A { long long x, y; };
  9.  
  10. int comp(const void *a, const void *b) {
  11. A *i1, *i2;
  12. i1=(A*)a; i2=(A*)b;
  13. if(i1->x > i2->x) return 1;
  14. if(i1->x == i2->x && i1->y < i2->y) return 1;
  15. return 0;
  16. }
  17.  
  18. int main() {
  19. // your code goes here
  20. int t, n, i;
  21. double dis;
  22. A arr[100005];
  23. scanf("%d", &t);
  24. while(t--) {
  25. scanf("%d", &n);
  26. for(i=0; i<n; i++) cin>>arr[i].x>>arr[i].y;
  27. qsort(arr, n, sizeof(A), comp);
  28. dis=0;
  29. for(i=1; i<n; i++) dis=dis+sqrt((arr[i].x-arr[i-1].x)*(arr[i].x-arr[i-1].x)+(arr[i].y-arr[i-1].y)*(arr[i].y-arr[i-1].y));
  30. printf("%.2f\n", dis);
  31. }
  32. return 0;
  33. }
Success #stdin #stdout 0s 5572KB
stdin
3

2
0 0
0 1

3
0 0
1 1
2 2

4
0 0
1 10
1 5
2 2
stdout
1.00
2.83
18.21