QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#571693 | #9347. Competition in Swiss-system | real_sigma_team# | WA | 132ms | 3816kb | C++17 | 2.1kb | 2024-09-18 04:00:17 | 2024-09-18 04:00:17 |
Judging History
answer
//#pragma GCC optimize("O3")
#include<bits/stdc++.h>
using namespace std;
typedef int ll;
void solve() {
ll n, m;
cin >> n >> m;
vector<vector<ll>> all(n);
vector<ll> mp(n, 0), gp(n, 0), cm(n, 0), cg(n, 0);
vector<ll> cma(m);
for (ll i = 0; i < m; i++) {
cin >> cma[i];
}
for (ll i = 0; i < m; i++) {
vector<bool> used(n, false);
for (ll j = 0; j < cma[i]; j++) {
ll a, b, w1, w2, d;
cin >> a >> b >> w1 >> w2 >> d;
a--;
b--;
used[a] = true;
used[b] = true;
if (w1 == 2) {
mp[a] += 3;
}
if (w2 == 2) {
mp[b] += 3;
}
if (w1 == w2) {
mp[a]++;
mp[b]++;
}
gp[a] += w1 * 3 + d;
gp[b] += w2 * 3 + d;
cg[a] += w1 + w2 + d;
cg[b] += w1 + w2 + d;
all[a].push_back(b);
all[b].push_back(a);
}
for (ll j = 0; j < n; j++) {
cm[j]++;
if (!used[j]) {
cg[j] += 2;
gp[j] += 6;
mp[j] += 3;
}
}
cout << "Round " << i + 1 << '\n';
for (ll j = 0; j < n; j++) {
cout << mp[j] << ' ';
ll col = 0, nu = 0, nd = 1;
for (auto k : all[j]) {
col++;
ll nowu = mp[k], nowd = cm[k] * 3;
if (nowu * 3 < nowd) {
nowu = 1;
nowd = 3;
}
ll x = nd * nowd / gcd(nd, nowd);
nu *= x / nd;
nd = x;
nu += nowu * (x / nowd);
}
if (col == 0) {
cout << "1/3" << ' ';
} else {
nd *= col;
ll x = gcd(nu, nd);
cout << nu / x << '/' << nd / x << ' ';
}
if (gp[j] * 3 < cg[j] * 3) {
cout << "1/3" << ' ';
} else {
ll x = gcd(cg[j] * 3, gp[j]);
cout << gp[j] / x << '/' << cg[j] * 3 / x << ' ';
}
col = 0;
nu = 0;
nd = 1;
for (auto k : all[j]) {
col++;
ll nowu = gp[k], nowd = cg[k] * 3;
if (nowu * 3 < nowd) {
nowu = 1;
nowd = 3;
}
ll x = nd * nowd / gcd(nd, nowd);
nu *= x / nd;
nd = x;
nu += nowu * (x / nowd);
}
if (col == 0) {
cout << "1/3" << ' ';
} else {
nd *= col;
ll x = gcd(nu, nd);
cout << nu / x << '/' << nd / x << ' ';
}
cout << '\n';
}
}
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
ll t;
cin >> t;
while (t--) {
solve();
}
}
詳細信息
Test #1:
score: 100
Accepted
time: 0ms
memory: 3816kb
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: -100
Wrong Answer
time: 132ms
memory: 3516kb
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 0 1/3 5/9 1/3 3 1/3 2/3 1/3 0 1/1 1...
result:
wrong answer 19th lines differ - expected: '3 1/3 5/9 1/3', found: '0 1/3 5/9 1/3 '