Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "testlib.h"
- using namespace std;
- double sqr(double x) { return x * x; }
- int main(int argc, char* argv[]) {
- registerTestlibCmd(argc, argv);
- int n = inf.readInt();
- vector<pair<int, int> > pts(n);
- for (int i = 0; i < n; i++) {
- pts[i].first = inf.readInt();
- pts[i].second = inf.readInt();
- }
- vector<int> seq(n);
- vector<bool> was(n);
- for (int i = 0; i < n; i++) {
- seq[i] = ouf.readInt(1, n) - 1;
- if (was[seq[i]])
- quitf(_wa, "Vertex %d occurs twice", i + 1);
- was[seq[i]] = true;
- }
- double len = 0;
- for (int i = 1; i < n; i++) {
- int a = seq[i - 1];
- int b = seq[i];
- len += sqrt(sqr(pts[a].first - pts[b].first) + sqr(pts[a].second - pts[b].second));
- }
- quitf(_ok, "length = %.4lf\n%.4lf", len, len);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement