Advertisement
Guest User

Untitled

a guest
Mar 7th, 2013
331
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.77 KB | None | 0 0
  1. #include "testlib.h"
  2.  
  3. using namespace std;
  4.  
  5. double sqr(double  x) { return x * x; }
  6.  
  7. int main(int argc, char* argv[]) {
  8.     registerTestlibCmd(argc, argv);
  9.  
  10.     int n = inf.readInt();
  11.     vector<pair<int, int> > pts(n);
  12.     for (int i = 0; i < n; i++) {
  13.       pts[i].first = inf.readInt();
  14.       pts[i].second = inf.readInt();
  15.     }
  16.  
  17.     vector<int> seq(n);
  18.     vector<bool> was(n);
  19.     for (int i = 0; i < n; i++) {
  20.       seq[i] = ouf.readInt(1, n) - 1;
  21.       if (was[seq[i]])
  22.         quitf(_wa, "Vertex %d occurs twice", i + 1);
  23.       was[seq[i]] = true;
  24.     }
  25.  
  26.     double len = 0;
  27.     for (int i = 1; i < n; i++) {
  28.       int a = seq[i - 1];
  29.       int b = seq[i];
  30.       len += sqrt(sqr(pts[a].first - pts[b].first) + sqr(pts[a].second - pts[b].second));
  31.     }
  32.   quitf(_ok, "length = %.4lf\n%.4lf", len, len);
  33. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement