QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#630841 | #9347. Competition in Swiss-system | crimsonsunset# | AC ✓ | 573ms | 4852kb | C++20 | 3.4kb | 2024-10-11 20:37:42 | 2024-10-11 20:37:48 |
Judging History
answer
#include <bits/stdc++.h>
#include <bits/extc++.h>
using namespace std;
using namespace __gnu_pbds;
using ll = long long;
using i128 = __int128;
#define ff first
#define ss second
#define all(x) x.begin(), x.end()
#define rall(x) x.rbegin(), x.rend()
ostream &operator<<(ostream &os, i128 x) {
string s;
do {
s.push_back(x % 10 + '0');
x /= 10;
} while (x);
ranges::reverse(s);
os << s;
return os;
}
i128 gcd(i128 a, i128 b) {
if (b == 0) {
return a;
}
return gcd(b, a % b);
}
struct fact {
i128 p, q;
auto operator<=>(const fact &o) const { return p * o.q <=> q * o.p; }
fact(i128 p = 0, i128 q = 1) : p(p), q(q) {
update();
}
void update() {
i128 g = gcd(p, q);
p /= g;
q /= g;
}
constexpr fact operator+(const fact &o) const { return fact(p * o.q + q * o.p, q * o.q); }
constexpr fact operator-(const fact &o) const { return fact(p * o.q - q * o.p, q * o.q); }
constexpr fact operator*(const fact &o) const { return fact(p * o.p, q * o.q); }
constexpr fact operator/(const fact &o) const { return fact(p * o.q, q * o.p); }
constexpr fact &operator+=(const fact &o) { return *this = *this + o; }
constexpr fact &operator-=(const fact &o) { return *this = *this - o; }
constexpr fact &operator*=(const fact &o) { return *this = *this * o; }
constexpr fact &operator/=(const fact &o) { return *this = *this / o; }
friend ostream &operator<<(ostream &os, const fact &o) {
if (o < fact(1, 3)) {
return os << "1/3";
}
return os << o.p << '/' << o.q;
}
};
void solve() {
int n, m;
cin >> n >> m;
vector<int> a(m + 1);
for (int i = 1; i <= m; ++i) {
cin >> a[i];
}
vector<vector<int>> oppo(n + 1);
vector<int> mp(n + 1), gp(n + 1), cnt(n + 1);
for (int i = 1; i <= m; ++i) {
vector<bool> vis(n + 1);
for (int j = 0; j < a[i]; ++j) {
int p1, p2, w1, w2, d;
cin >> p1 >> p2 >> w1 >> w2 >> d;
vis[p1] = vis[p2] = true;
gp[p1] += 3 * w1 + d;
gp[p2] += 3 * w2 + d;
if (w1 > w2) {
mp[p1] += 3;
} else if (w1 < w2) {
mp[p2] += 3;
} else {
mp[p1] += 1;
mp[p2] += 1;
}
oppo[p1].push_back(p2);
oppo[p2].push_back(p1);
cnt[p1] += 3 * (w1 + w2 + d);
cnt[p2] += 3 * (w1 + w2 + d);
}
for (int i = 1; i <= n; ++i) {
if (!vis[i]) {
mp[i] += 3;
gp[i] += 6;
cnt[i] += 6;
}
}
cout << "Round " << i << '\n';
for (int j = 1; j <= n; ++j) {
fact omw = 0, ogw = 0;
for (auto x: oppo[j]) {
omw += fact(max(i, mp[x]), 3 * i);
ogw += fact(max(cnt[x] / 3, gp[x]), cnt[x]);
}
if (oppo[j].size()) omw /= oppo[j].size(), ogw /= oppo[j].size();
cout << mp[j] << ' ' << omw << ' ' << fact(gp[j], cnt[j]) << ' ' << ogw << '\n';
}
}
}
signed main() {
cin.tie(nullptr)->sync_with_stdio(false);
int t;
cin >> t;
while (t--)
solve();
}
这程序好像有点Bug,我给组数据试试?
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3620kb
input:
2 2 3 0 1 1 1 2 2 0 1 1 2 1 1 1 3 2 1 1 1 2 0 2 0 2 3 2 0 0
output:
Round 1 3 1/3 1/1 1/3 3 1/3 1/1 1/3 Round 2 6 1/2 13/15 7/15 3 1/1 7/15 13/15 Round 3 7 4/9 17/24 11/24 4 7/9 11/24 17/24 Round 1 0 1/1 1/3 1/1 3 1/3 1/1 1/3 3 1/3 1/1 1/3 Round 2 3 1/1 1/2 1/1 6 1/2 1/1 1/2 3 1/1 1/2 1/1
result:
ok 17 lines
Test #2:
score: 0
Accepted
time: 213ms
memory: 3684kb
input:
3215 26 4 13 13 11 13 19 9 2 1 0 17 1 0 2 0 25 15 2 0 0 14 5 1 2 0 20 2 0 2 0 10 21 2 1 0 3 16 0 2 0 8 6 2 1 0 26 24 1 2 0 22 18 0 1 2 7 11 2 0 0 13 4 1 2 0 23 12 0 2 0 18 20 1 2 0 3 5 2 1 0 25 24 1 2 0 7 9 1 2 0 11 14 2 0 0 8 17 1 1 1 23 12 2 0 0 19 26 1 2 0 2 15 0 2 0 4 13 2 1 0 16 10 0 2 0 6 21 0...
output:
Round 1 3 1/3 1/1 1/3 3 1/3 1/1 1/3 0 1/1 1/3 1/1 3 1/3 2/3 1/3 3 1/3 2/3 1/3 0 1/1 1/3 2/3 3 1/3 1/1 1/3 3 1/3 2/3 1/3 0 1/1 1/3 2/3 3 1/3 2/3 1/3 0 1/1 1/3 1/1 3 1/3 1/1 1/3 0 1/1 1/3 2/3 0 1/1 1/3 2/3 0 1/1 1/3 1/1 3 1/3 1/1 1/3 0 1/1 1/3 1/1 3 1/3 5/9 1/3 3 1/3 2/3 1/3 0 1/1 1/3 1/1 0 1/1 1/3 2/...
result:
ok 312175 lines
Test #3:
score: 0
Accepted
time: 189ms
memory: 3840kb
input:
602 67 7 7 9 4 9 10 6 10 18 36 2 0 0 14 63 1 2 0 20 2 2 1 0 45 17 1 1 1 16 24 0 2 0 15 12 1 1 1 59 38 1 2 0 25 3 1 2 0 19 6 0 2 0 26 51 0 2 0 50 66 1 1 1 4 27 1 2 0 12 5 0 1 2 41 2 1 1 1 54 1 1 1 1 28 29 0 2 0 38 64 1 1 1 46 63 1 1 1 25 44 2 1 0 30 11 0 2 0 60 38 2 0 0 11 39 1 1 1 23 8 1 1 1 2 29 0 ...
output:
Round 1 3 1/3 1/1 1/3 0 1/1 1/3 2/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 1 1/3 4/9 4/9 3 1/3 1/1 1/3 0 1/1 1/3 2/3 1 1/3 4/9 4/9 0 1/1 1/3 1/1 1 1/3 4/9 4/9 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 2/3 1/3 3 1/3 1/1 1/...
result:
ok 303032 lines
Test #4:
score: 0
Accepted
time: 501ms
memory: 3824kb
input:
36 818 12 399 400 403 401 400 400 399 402 402 403 399 402 484 426 2 1 0 304 580 0 2 0 261 281 2 0 0 739 204 2 0 0 53 297 1 2 0 430 258 2 1 0 521 763 1 2 0 718 526 2 0 0 611 247 1 2 0 644 453 0 2 0 283 91 2 1 0 695 223 1 2 0 583 679 2 1 0 538 396 1 1 1 582 766 1 2 0 146 136 1 2 0 799 77 1 2 0 530 787...
output:
Round 1 0 1/1 1/3 1/1 3 1/3 1/1 1/3 0 1/1 1/3 1/1 3 1/3 2/3 1/3 3 1/3 1/1 1/3 0 1/1 1/3 1/1 3 1/3 2/3 1/3 3 1/3 2/3 1/3 3 1/3 2/3 1/3 0 1/1 1/3 7/9 0 1/1 1/3 1/1 3 1/3 1/1 1/3 0 1/1 1/3 1/1 0 1/1 1/3 1/1 3 1/3 2/3 1/3 0 1/1 1/3 2/3 0 1/1 1/3 2/3 3 1/3 2/3 1/3 0 1/1 1/3 2/3 0 1/1 1/3 1/1 3 1/3 1/1 1/...
result:
ok 300314 lines
Test #5:
score: 0
Accepted
time: 497ms
memory: 3820kb
input:
37 986 7 493 493 493 493 493 493 493 753 944 2 1 0 590 186 1 2 0 142 847 2 0 0 11 725 1 2 0 41 445 0 2 0 509 418 1 2 0 500 663 2 0 0 895 401 1 2 0 932 24 0 2 0 14 446 2 0 0 984 170 1 2 0 803 316 0 2 0 36 690 0 2 0 228 719 1 2 0 378 979 2 0 0 650 477 2 0 0 821 496 0 2 0 828 181 1 2 0 303 978 2 0 0 34...
output:
Round 1 3 1/3 7/9 1/3 0 1/1 1/3 1/1 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 7/9 1/3 1 1/3 4/9 4/9 3 1/3 2/3 1/3 3 1/3 1/1 1/3 3 1/3 2/3 1/3 0 1/1 1/3 2/3 0 1/1 1/3 1/1 3 1/3 1/1 1/3 3 1/3 1/1 1/3 0 1/1 1/3 2/3 3 1/3 2/3 1/3 3 1/3 1/1 1/3 0 1/1 1/3 2/3 0 1/1 1/3 1/1 3 1/3 2/3 1/3 3 1/3 1/1 1/...
result:
ok 300065 lines
Test #6:
score: 0
Accepted
time: 484ms
memory: 3800kb
input:
39 455 12 194 198 198 192 188 196 194 193 185 192 193 185 274 152 2 0 0 172 313 2 1 0 324 382 2 0 0 423 41 1 2 0 108 273 2 0 0 88 436 0 2 0 1 386 2 0 0 162 384 2 0 0 176 195 1 1 1 371 303 0 2 0 292 198 0 2 1 98 403 0 2 0 57 225 1 2 0 142 256 1 1 1 362 211 1 1 1 318 265 0 2 0 235 322 2 1 0 126 165 2 ...
output:
Round 1 3 1/3 1/1 1/3 3 1/3 1/1 1/3 0 1/1 1/3 1/1 3 1/3 2/3 1/3 0 1/1 1/3 1/1 3 1/3 1/1 1/3 0 1/1 1/3 2/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 7/9 1/3 0 1/1 1/3 1/1 3 1/3 2/3 1/3 3 1/3 2/3 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 0 1/1 1/3 2/3 3 1/3 1/1 1/3 0 1/1 1/3 2/3 3 1/3 1/1 1/...
result:
ok 300060 lines
Test #7:
score: 0
Accepted
time: 290ms
memory: 3548kb
input:
1053 46 7 23 23 23 23 23 23 23 46 26 2 1 0 9 14 0 2 0 2 15 2 0 0 12 16 2 0 0 22 29 0 2 0 7 17 2 0 0 20 3 0 2 0 41 31 1 1 1 44 6 0 2 0 32 8 1 1 1 23 36 2 0 0 30 5 1 2 0 4 21 0 2 0 42 34 0 2 0 37 27 1 2 0 19 13 2 1 0 18 38 1 2 0 43 28 2 0 0 24 11 2 1 0 39 10 2 1 0 25 33 0 2 0 35 45 0 2 1 40 1 2 0 0 16...
output:
Round 1 0 1/1 1/3 1/1 3 1/3 1/1 1/3 3 1/3 1/1 1/3 0 1/1 1/3 1/1 3 1/3 2/3 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 1 1/3 4/9 4/9 0 1/1 1/3 1/1 0 1/1 1/3 2/3 0 1/1 1/3 2/3 3 1/3 1/1 1/3 0 1/1 1/3 2/3 3 1/3 1/1 1/3 0 1/1 1/3 1/1 0 1/1 1/3 1/1 0 1/1 1/3 1/1 0 1/1 1/3 2/3 3 1/3 2/3 1/3 0 1/1 1/3 1/1 3 1/3 1/1 1/...
result:
ok 306093 lines
Test #8:
score: 0
Accepted
time: 481ms
memory: 3816kb
input:
38 408 9 202 201 202 202 201 199 203 201 202 145 197 0 2 0 303 110 2 1 0 168 83 1 2 0 312 254 2 1 0 120 27 0 2 0 162 194 0 2 0 133 128 1 2 0 146 268 2 1 0 238 52 2 0 0 147 72 0 2 0 280 95 2 1 0 211 322 1 2 0 118 400 2 1 0 138 123 2 0 0 101 328 0 2 0 172 267 2 0 0 293 313 1 2 0 360 189 2 1 0 193 202 ...
output:
Round 1 3 1/3 2/3 1/3 3 1/3 1/1 1/3 0 1/1 1/3 1/1 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 2/3 1/3 3 1/3 1/1 1/3 0 1/1 1/3 2/3 3 1/3 1/1 1/3 0 1/1 1/3 2/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 0 1/1 1/3 2/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 2/3 1/3 0 1/1 1/3 2/3 3 1/3 1/1 1/3 3 1/3 2/3 1/3 0 1/1 1/3 2/3 3 1/3 1/1 1/...
result:
ok 299664 lines
Test #9:
score: 0
Accepted
time: 520ms
memory: 3828kb
input:
34 682 11 336 339 338 337 338 339 338 335 338 336 334 75 474 2 0 0 368 334 2 0 0 501 600 0 2 0 133 291 0 2 0 630 498 0 2 0 125 681 1 2 0 393 198 1 2 0 17 574 0 2 0 558 217 2 1 0 121 71 2 1 0 355 188 2 0 0 598 351 2 0 0 80 593 0 2 1 540 508 0 2 0 647 63 2 1 0 287 447 0 2 0 409 141 0 2 0 543 459 1 2 0...
output:
Round 1 3 1/3 2/3 1/3 0 1/1 1/3 1/1 3 1/3 2/3 1/3 3 1/3 2/3 1/3 3 1/3 1/1 1/3 1 1/3 4/9 4/9 3 1/3 1/1 1/3 0 1/1 1/3 1/1 3 1/3 2/3 1/3 0 1/1 1/3 1/1 0 1/1 1/3 2/3 0 1/1 1/3 1/1 0 1/1 1/3 2/3 3 1/3 7/9 1/3 3 1/3 2/3 1/3 3 1/3 1/1 1/3 0 1/1 1/3 1/1 0 1/1 1/3 2/3 3 1/3 2/3 1/3 3 1/3 2/3 1/3 0 1/1 1/3 2/...
result:
ok 299852 lines
Test #10:
score: 0
Accepted
time: 573ms
memory: 3984kb
input:
18 1000 16 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 906 272 2 0 1 150 792 2 1 0 499 344 0 0 3 809 137 2 1 0 321 309 2 0 1 606 363 2 1 0 62 813 2 0 1 63 354 1 1 1 530 921 1 0 2 325 532 1 1 1 830 439 2 0 1 558 735 1 1 1 157 106 2 0 0 915 166 2 1 0 990 528 0 2 1 503 833 2 0 0 221...
output:
Round 1 0 1/1 1/3 7/9 0 1/1 1/3 5/9 0 1/1 1/3 1/1 0 1/1 1/3 7/9 1 1/3 4/9 4/9 1 1/3 1/3 1/3 1 1/3 1/3 1/3 3 1/3 1/1 1/3 1 1/3 4/9 4/9 3 1/3 5/9 1/3 3 1/3 1/1 1/3 3 1/3 7/9 1/3 3 1/3 5/9 1/3 3 1/3 2/3 1/3 0 1/1 1/3 2/3 0 1/1 1/3 5/9 1 1/3 4/9 4/9 3 1/3 2/3 1/3 3 1/3 1/1 1/3 3 1/3 7/9 1/3 0 1/1 1/3 7/...
result:
ok 288288 lines
Test #11:
score: 0
Accepted
time: 529ms
memory: 3764kb
input:
18 1000 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1000 16 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 916 131 0 0 3 77 600 0 0 3 83 120 0 0 3 291 132 0 0 3 943 450 0 0 3 373 15 0 0 3 597 954 0 0 3 955 841 0 0 3 350 310 0 0 3 422 947 0 0 3 508 868 0 0 3 155 571 0 0 3 415 295 0 0 3 138 82...
output:
Round 1 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/...
result:
ok 288288 lines
Test #12:
score: 0
Accepted
time: 540ms
memory: 4852kb
input:
3 4299 14 2149 2149 2149 2149 2149 2149 2149 2149 2149 2149 2149 2149 2149 2149 2946 716 2 1 0 2553 1869 1 2 0 755 406 1 1 1 1203 2823 0 2 0 4077 3512 1 2 0 725 603 0 2 0 2852 1096 2 0 0 476 288 2 0 0 1840 2298 0 2 0 501 2736 0 2 0 3981 1285 2 0 0 1421 3234 1 2 0 4167 3812 2 0 0 3570 3250 0 2 0 1999...
output:
Round 1 3 1/3 1/1 1/3 0 1/1 1/3 2/3 0 1/1 1/3 1/1 3 1/3 2/3 1/3 0 1/1 1/3 1/1 0 1/1 1/3 2/3 0 1/1 1/3 1/1 0 1/1 1/3 1/1 3 1/3 1/1 1/3 3 1/3 1/1 1/3 0 1/1 1/3 1/1 3 1/3 1/1 1/3 3 1/3 2/3 1/3 0 1/1 1/3 1/1 3 1/3 2/3 1/3 3 1/3 2/3 1/3 1 1/3 4/9 4/9 0 1/1 1/3 1/1 0 1/1 1/3 1/1 0 1/1 1/3 1/1 1 1/3 4/9 4/...
result:
ok 292315 lines
Test #13:
score: 0
Accepted
time: 511ms
memory: 4728kb
input:
3 6536 8 3237 3232 3238 3239 3234 3239 3236 3228 4819 4365 2 1 0 1844 4941 1 2 0 6225 3950 2 1 0 1707 4719 2 0 0 63 895 2 1 0 5270 3536 2 0 0 2097 2650 0 2 0 568 4192 0 2 0 4853 4221 0 2 0 5788 1504 0 2 0 5534 3632 2 0 0 6212 192 2 1 0 3914 92 2 0 0 3117 1919 0 2 0 4943 6070 2 0 0 2132 5123 2 0 0 29...
output:
Round 1 0 1/1 1/3 2/3 3 1/3 2/3 1/3 0 1/1 1/3 2/3 0 1/1 1/3 2/3 0 1/1 1/3 2/3 0 1/1 1/3 1/1 3 1/3 2/3 1/3 0 1/1 1/3 2/3 3 1/3 2/3 1/3 0 1/1 1/3 1/1 3 1/3 2/3 1/3 0 1/1 1/3 1/1 3 1/3 1/1 1/3 0 1/1 1/3 1/1 3 1/3 2/3 1/3 0 1/1 1/3 1/1 3 1/3 1/1 1/3 0 1/1 1/3 1/1 0 1/1 1/3 1/1 3 1/3 2/3 1/3 3 1/3 2/3 1/...
result:
ok 293052 lines
Test #14:
score: 0
Accepted
time: 325ms
memory: 4640kb
input:
1 10000 16 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 6547 6961 2 1 0 3374 1491 0 2 0 2327 947 0 2 1 568 6497 2 0 0 9049 6556 0 1 2 8327 7516 2 0 0 4639 4156 0 2 0 2949 6724 0 2 0 1500 1082 0 2 0 7374 2824 2 1 0 3415 1330 1 2 0 5144 2864 0 2 0 8357 4832 0 2 0 605...
output:
Round 1 0 1/1 1/3 1/1 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 1 1/3 4/9 4/9 0 1/1 1/3 1/1 0 1/1 1/3 1/1 1 1/3 4/9 4/9 3 1/3 1/1 1/3 3 1/3 1/1 1/3 0 1/1 1/3 7/9 3 1/3 1/1 1/3 0 1/1 1/3 1/1 0 1/1 1/3 1/1 3 1/3 1/1 1/3 3 1/3 7/9 1/3 3 1/3 1/1 1/3 0 1/1 1/3 1/1 0 1/1 1/3 1/1 0 1/1 1/3 7/...
result:
ok 160016 lines
Extra Test:
score: 0
Extra Test Passed