QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#793958 | #8864. Ball Passing | alexhamidi | AC ✓ | 0ms | 3972kb | C++20 | 1.0kb | 2024-11-30 06:53:09 | 2024-11-30 06:53:09 |
Judging History
answer
#include <iostream>
#include <cmath>
#include <vector>
#include <iomanip>
using namespace std;
double sq(double x) {
return x * x;
}
double getDistance(pair<double, double> a, pair<double, double> b) {
auto [xa, ya] = a;
auto [xb, yb] = b;
return sqrt(sq(xa-xb) + sq(ya-yb));
}
int main() {
int n;
cin >> n;
string s;
cin >> s;
vector<pair<int, int>> b;
vector<pair<int, int>> g;
for (int i = 0; i < n; i++) {
int x, y;
cin >> x >> y;
if (s[i] == 'B') {
b.push_back({x, y});
} else {
g.push_back({x, y});
}
}
int bs = b.size();
int gs = g.size();
double ans;
for (int i = 0; i < bs/2; i++) {
int opp = i + bs/2;
ans+=getDistance(b[i], b[opp]);
}
for (int i = 0; i < gs/2; i++) {
int opp = i + gs/2;
ans+=getDistance(g[i], g[opp]);
}
cout << fixed << setprecision(6) << ans << "\n";
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3972kb
input:
4 BBGG -1 -10 -10 -2 -8 7 7 -8
output:
33.254798
result:
ok found '33.2547980', expected '33.2547980', error '0.0000000'
Test #2:
score: 0
Accepted
time: 0ms
memory: 3816kb
input:
10 GBGBBBGBBG -30 2 -28 10 -5 30 6 29 15 26 22 20 29 9 27 -12 -14 -27 -22 -20
output:
269.695383
result:
ok found '269.6953830', expected '269.6953830', error '0.0000000'
Test #3:
score: 0
Accepted
time: 0ms
memory: 3808kb
input:
18 GBBBBGBGBGBBGGGGBB -1820 -414 -1992 -92 -77 999 75 999 422 978 471 972 871 900 1343 741 1790 -446 556 -961 148 -997 28 -1000 23 -1000 -493 -969 -816 -913 -1002 -865 -1432 -698 -1671 -550
output:
21614.281392
result:
ok found '21614.2813920', expected '21614.2813916', error '0.0000000'
Test #4:
score: 0
Accepted
time: 0ms
memory: 3728kb
input:
40 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 9506 -2484 9872 -1278 9980 -501 9992 -323 7528 5266 7447 5339 7074 5655 5984 6410 5834 6498 5537 6662 5459 6703 3250 7566 2640 7716 896 7968 637 7984 -1592 7898 -1863 7860 -2419 7762 -3277 7558 -3941 7353 -7798 5008 -9393 2745 -9617 2192 -9752 1772 -9882 -...
output:
351971.753260
result:
ok found '351971.7532600', expected '351971.7532598', error '0.0000000'
Test #5:
score: 0
Accepted
time: 0ms
memory: 3800kb
input:
50 BBBGBGGGGGBGGGGGGGGBBGGGGBBBBBBGGGBGGBGBGGBBGBGBGG 1420 -4949 4182 -4542 4684 -4418 5875 -4046 6094 -3964 7896 -3068 8588 -2561 8764 -2408 8929 -2251 9377 -1737 9724 -1166 8443 2679 8109 2926 7842 3103 4660 4424 4561 4450 3837 4617 3542 4676 3281 4723 3208 4736 3008 4768 1136 4968 131 5000 -1002 ...
output:
331254.024145
result:
ok found '331254.0241450', expected '331254.0241450', error '0.0000000'