Skip to content

Commit cdd5a5f

Browse files
committed
Add a test for ABC120-D
1 parent d2027b2 commit cdd5a5f

File tree

8 files changed

+58
-0
lines changed

8 files changed

+58
-0
lines changed

examples/abc120-d.rs

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
// https://atcoder.jp/contests/abc120/tasks/abc120_d
2+
3+
use proconio::marker::Usize1;
4+
use proconio::{fastout, input};
5+
use union_find::{QuickFindUf, UnionBySize, UnionFind as _};
6+
7+
#[fastout]
8+
fn main() {
9+
input! {
10+
n: usize,
11+
m: usize,
12+
abs: [(Usize1, Usize1); m],
13+
}
14+
15+
let mut u = QuickFindUf::<UnionBySize>::new(n);
16+
let mut k = n * (n - 1) / 2;
17+
let mut r = vec![k];
18+
r.extend(abs.into_iter().rev().map(|(a, b)| {
19+
let p = u.get(a).size() * u.get(b).size();
20+
if u.union(a, b) {
21+
k -= p;
22+
}
23+
k
24+
}));
25+
assert_eq!(r.pop(), Some(0));
26+
for r in r.into_iter().rev() {
27+
println!("{}", r);
28+
}
29+
}

examples/tests.ron

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,9 @@
1212
name: "ABC049 / ARC065: C - 白昼夢 / Daydream",
1313
matching: ExactWords,
1414
),
15+
"abc120-d": (
16+
name: "ABC120: D - Decayed Bridges ",
17+
matching: ExactWords,
18+
),
1519
}
1620
)
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
4 5
2+
1 2
3+
3 4
4+
1 3
5+
2 3
6+
1 4
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
6 5
2+
2 3
3+
1 2
4+
5 6
5+
3 4
6+
4 5
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
2 1
2+
1 2
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
0
2+
0
3+
4
4+
5
5+
6
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
8
2+
9
3+
12
4+
14
5+
15
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
1

0 commit comments

Comments
 (0)