Submission details
Task:Fragile network
Sender:aalto26fw_004
Submission time:2026-10-07 17:10:26 +0300
Language:C++ (C++23)
Status:READY
Result:
Test results
testverdicttime
#10.00 sdetails
#2ACCEPTED0.00 sdetails
#3ACCEPTED0.00 sdetails
#4ACCEPTED0.00 sdetails
#5ACCEPTED0.00 sdetails
#60.04 sdetails
#70.05 sdetails
#80.06 sdetails
#90.14 sdetails
#100.41 sdetails
#11ACCEPTED0.00 sdetails
#120.00 sdetails
#130.00 sdetails
#140.03 sdetails
#150.00 sdetails
#160.00 sdetails
#170.00 sdetails
#18ACCEPTED0.00 sdetails
#19ACCEPTED0.00 sdetails
#20ACCEPTED0.00 sdetails
#21ACCEPTED0.00 sdetails

Code

#include <iostream>
#include <vector>
#include <algorithm>


int main() {
    std::ios_base::sync_with_stdio(false);
    std::cin.tie(NULL);
    int n;
    std::cin >> n;
    std::vector<std::vector<int>> conn;
    for (int i = 1; i <= n; i++) {
        conn.push_back({i});
    }
    for (int i = 0; i < n - 1; i++) {
        int a, b;
        std::cin >> a >> b;
        conn.at(a - 1).push_back(b);
        conn.at(b - 1).push_back(a);
    }
    std::sort(conn.begin(), conn.end(), [](const std::vector<int>& a, 
            const std::vector<int>& b) { return a.size() <= b.size(); });
    std::vector<std::pair<int, int>> newconn;
    int count = 0;
    for (int i = 0; i < n - 2; i++) {
        if (conn.at(i).size() == 2) {
            int curr = i + 1;
            if (std::find(conn.at(i).begin() + 1, conn.at(i).end(), conn.at(curr).front()) != conn.at(i).end()) {
                curr++;
                if (std::find(conn.at(i).begin() + 1, conn.at(i).end(),
                 conn.at(curr).front()) != conn.at(i).end()) curr++;
            }
            newconn.push_back({conn.at(i).front(), conn.at(curr).front()});
            count++;
            conn.at(curr).push_back(i + 1);
            conn.at(i).push_back(curr + 1);
        }
    }
    std::cout << count << std::endl;
    for (auto& pa : newconn) {
        std::cout << pa.first << ' ' << pa.second << std::endl;
    }
}

Test details

Test 1

Verdict:

input
10
1 5
1 7
1 8
1 3
...

correct output
5
5 2
7 9
8 6
3 10
...

user output
4
10 9
8 7
6 5
4 3

Test 2

Verdict: ACCEPTED

input
10
4 5
3 4
2 3
9 10
...

correct output
1
10 1

user output
1
10 1

Test 3

Verdict: ACCEPTED

input
10
1 8
1 3
3 5
5 7
...

correct output
3
7 10
8 2
1 9

user output
3
10 9
8 7
2 6

Test 4

Verdict: ACCEPTED

input
10
1 5
3 7
2 10
3 8
...

correct output
3
10 8
6 4
5 9

user output
3
10 9
8 6
5 4

Test 5

Verdict: ACCEPTED

input
10
4 8
3 4
4 6
2 3
...

correct output
3
8 7
10 9
1 6

user output
3
10 9
8 7
6 5

Test 6

Verdict:

input
100000
1 56967
1 56618
1 42321
1 82550
...

correct output
50000
56967 16911
56618 39942
42321 99902
82550 2538
...

user output
(empty)

Test 7

Verdict:

input
100000
92297 92298
23511 23512
68057 68058
65434 65435
...

correct output
1
100000 1

user output
(empty)

Test 8

Verdict:

input
100000
17747 97512
10397 12053
679 6975
4013 14565
...

correct output
25057
92881 76094
20353 87429
16069 96487
71186 52809
...

user output
(empty)

Test 9

Verdict:

input
100000
72941 72942
11232 11233
73464 73465
30042 30043
...

correct output
489
16423 85168
20707 94190
36505 54940
96411 44067
...

user output
(empty)

Test 10

Verdict:

input
100000
31451 31452
7473 7474
24056 24057
85181 85182
...

correct output
51
25638 2983
87594 87371
92001 50610
46744 100000
...

user output
(empty)

Test 11

Verdict: ACCEPTED

input
10
1 2
1 3
3 4
3 5
...

correct output
2
2 6
4 10

user output
2
10 6
4 2

Test 12

Verdict:

input
7
1 2
2 3
2 4
1 5
...

correct output
2
4 7
3 6

user output
2
7 6
4 3

Test 13

Verdict:

input
6
1 2
1 3
1 4
4 5
...

correct output
2
3 6
2 5

user output
2
6 5
3 2

Test 14

Verdict:

input
65538
1 2
1 3
1 4
3 5
...

correct output
16385
34 36
40 42
35 41
48 50
...

user output
(empty)

Test 15

Verdict:

input
11
1 2
1 3
2 4
2 5
...

correct output
2
9 11
8 10

user output
2
11 10
9 8

Test 16

Verdict:

input
7
1 2
1 3
2 4
2 5
...

correct output
2
5 7
4 6

user output
2
7 6
5 4

Test 17

Verdict:

input
7
1 2
1 3
2 4
2 5
...

correct output
2
5 7
4 6

user output
2
7 6
5 4

Test 18

Verdict: ACCEPTED

input
10
8 4
3 4
4 6
2 3
...

correct output
3
8 7
10 9
1 6

user output
3
10 9
8 7
6 5

Test 19

Verdict: ACCEPTED

input
7
1 2
1 5
2 3
2 6
...

correct output
2
6 7
3 4

user output
2
7 6
4 3

Test 20

Verdict: ACCEPTED

input
8
1 2
1 3
2 4
2 5
...

correct output
3
4 7
6 8
1 5

user output
3
8 7
6 5
4 3

Test 21

Verdict: ACCEPTED

input
10
2 1
3 1
4 2
5 4
...

correct output
3
9 8
6 10
3 7

user output
3
10 9
8 7
6 3