QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#571698#9347. Competition in Swiss-systemreal_sigma_team#WA 194ms3872kbC++172.1kb2024-09-18 04:07:072024-09-18 04:07:07

Judging History

你现在查看的是最新测评结果

  • [2024-09-18 04:07:07]
  • 评测
  • 测评结果:WA
  • 用时:194ms
  • 内存:3872kb
  • [2024-09-18 04:07:07]
  • 提交

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 > w2) {
				mp[a] += 3;
			}
			if (w2 > w1) {
				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();
	}
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3644kb

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: 129ms
memory: 3832kb

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...

result:

ok 312175 lines

Test #3:

score: 0
Accepted
time: 105ms
memory: 3872kb

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...

result:

ok 303032 lines

Test #4:

score: -100
Wrong Answer
time: 194ms
memory: 3736kb

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...

result:

wrong answer 5799th lines differ - expected: '13 37/64 31/60 275183323/494236512', found: '13 37/64 31/60 -211605971/-66584900 '