QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#884305#7177. Many Many CyclesnalemyWA 1ms3584kbC++201.0kb2025-02-05 23:42:032025-02-05 23:42:04

Judging History

This is the latest submission verdict.

  • [2025-02-05 23:42:04]
  • Judged
  • Verdict: WA
  • Time: 1ms
  • Memory: 3584kb
  • [2025-02-05 23:42:03]
  • Submitted

answer

#include<unordered_map>
#include<algorithm>
#include<iostream>
#include<cstring>
#include<random>

const int N = 5e3, M = 1e4;
int n, m, tt, tp, hd[N];
long long d[N], ans;
unsigned long long s[N], t[N];
struct edg { int v, w, nx; bool mk; } e[M];
std::unordered_map<unsigned long long, long long>mp;
std::vector<std::pair<int, int>>g[N];
std::mt19937_64 gen(0xfcc666);
void inline ad(int u, int v, int w) {
	e[tt] = {v, w, hd[u]}, hd[u] = tt++;
}
void dfs(int u) {
	for (int i=hd[u], v, w; ~i; i=e[i].nx)
		if (e[i^1].mk=1, w=d[u]+e[i].w, !e[i].mk)
			if (!~d[v=e[i].v]) d[v] = w, dfs(v),
				mp[s[v]] += e[i].w, s[u] ^= s[v];
			else s[u] ^= t[++tp] = gen(), s[v] ^= t[tp],
				ans = std::__gcd(ans, w-d[v]);
}
int main() {
	std::cin >> n >> m, mp.reserve(n);
	memset(d, -1, n*8), memset(hd, -1, n*4);
	for (int u, v, w; m--;)
		std::cin >> u >> v >> w,
		ad(--u, --v, w), ad(v, u, w);
	for (*d=0, dfs(0); ~tp;) mp[t[tp--]] = 0;
	for (auto[x, y] : mp) ans = std::__gcd(ans, y*2);
	std::cout << ans;
}

详细

Test #1:

score: 100
Accepted
time: 1ms
memory: 3584kb

input:

4 4
1 2 1
2 3 1
3 4 1
4 1 1

output:

4

result:

ok answer is '4'

Test #2:

score: 0
Accepted
time: 0ms
memory: 3584kb

input:

4 5
1 2 1
1 3 2
1 4 1
2 3 1
3 4 1

output:

4

result:

ok answer is '4'

Test #3:

score: 0
Accepted
time: 1ms
memory: 3456kb

input:

20 50
1 2 8
1 3 1
3 4 5
3 5 9
3 6 5
6 7 6
7 8 8
2 9 2
8 10 3
8 11 7
8 12 5
3 13 4
7 14 3
6 15 7
9 16 6
8 17 7
16 18 9
16 19 3
18 20 10
11 3 2
17 1 1
16 2 2
15 1 1
10 3 2
9 1 2
19 2 1
6 1 2
7 3 1
17 3 2
15 3 2
8 6 2
5 1 2
8 1 2
12 1 1
12 7 1
4 1 2
18 2 1
11 7 1
14 1 1
18 1 1
18 9 1
10 6 1
14 3 2
20 2...

output:

2

result:

ok answer is '2'

Test #4:

score: 0
Accepted
time: 0ms
memory: 3584kb

input:

20 50
1 2 18468
1 3 26501
3 4 15725
3 5 29359
3 6 24465
6 7 28146
7 8 16828
2 9 492
8 10 11943
8 11 5437
8 12 14605
3 13 154
7 14 12383
6 15 18717
9 16 19896
8 17 21727
16 18 11539
16 19 19913
18 20 26300
11 3 2
17 1 1
16 2 2
15 1 1
10 3 2
9 1 2
19 2 1
6 1 2
7 3 1
17 3 2
15 3 2
8 6 2
5 1 2
8 1 2
12 ...

output:

1

result:

ok answer is '1'

Test #5:

score: 0
Accepted
time: 1ms
memory: 3456kb

input:

100 150
1 2 184676335
1 3 191705725
1 4 293606963
1 5 57078146
2 6 168279962
6 7 29961943
5 8 54392392
5 9 39020154
5 10 123837422
7 11 197199896
3 12 217274772
7 13 18709913
6 14 263007036
11 15 287053812
3 16 303347674
9 17 151417712
17 18 68705548
15 19 326652758
12 20 128598724
2 21 275290779
11...

output:

3

result:

ok answer is '3'

Test #6:

score: -100
Wrong Answer
time: 0ms
memory: 3456kb

input:

100 130
1 2 184676335
1 3 191705725
1 4 293606963
1 5 57078146
2 6 168279962
6 7 29961943
5 8 54392392
5 9 39020154
5 10 123837422
7 11 197199896
3 12 217274772
7 13 18709913
6 14 263007036
11 15 287053812
3 16 303347674
9 17 151417712
17 18 68705548
15 19 326652758
12 20 128598724
2 21 275290779
11...

output:

-1

result:

wrong answer expected '7', found '-1'