QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#497584#6634. Central SubsetrgnerdplayerWA 34ms4032kbC++201.4kb2024-07-29 14:27:022024-07-29 14:27:04

Judging History

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

  • [2024-07-29 14:27:04]
  • 评测
  • 测评结果:WA
  • 用时:34ms
  • 内存:4032kb
  • [2024-07-29 14:27:02]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;

using i64 = long long;

int main() {
    cin.tie(nullptr)->sync_with_stdio(false);

    int t;
    cin >> t;

    auto solve = [&]() {
        int n, m;
        cin >> n >> m;

        vector<vector<int>> adj(n);
        for (int i = 0; i < m; i++) {
            int u, v;
            cin >> u >> v;
            u--, v--;
            adj[u].push_back(v);
            adj[v].push_back(u);
        }

        vector<int> vis(n), dep(n);
        int sq = 0;
        while (sq * sq < n) {
            sq++;
        }
        vector<vector<int>> verts(sq);

        auto dfs = [&](auto dfs, int u) -> void {
            verts[dep[u] % sq].push_back(u);
            vis[u] = true;
            for (auto v : adj[u]) {
                if (!vis[v]) {
                    dep[v] = dep[u] + 1;
                    dfs(dfs, v);
                }
            }
        };
        dfs(dfs, 0);

        int x = 0;
        for (int i = 0; i < sq; i++) {
            if (!verts[i].empty() && verts[i].size() < verts[x].size()) {
                x = i;
            }
        }

        cout << verts[x].size() << '\n';
        for (auto u : verts[x]) {
            cout << u + 1 << " \n"[u == verts[x].back()];
        }
    };

    while (t--) {
        solve();
    }
    
    return 0;
}

詳細信息

Test #1:

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

input:

2
4 3
1 2
2 3
3 4
6 7
1 2
2 3
3 1
1 4
4 5
5 6
6 4

output:

2
1 3
2
1 6

result:

ok correct (2 test cases)

Test #2:

score: 0
Accepted
time: 19ms
memory: 3552kb

input:

10000
15 14
13 12
5 4
9 8
11 12
15 14
10 9
14 13
2 3
2 1
6 5
10 11
3 4
7 6
8 7
6 5
2 1
2 4
4 6
2 3
3 5
10 9
8 3
9 4
5 6
5 10
3 2
5 4
2 7
1 2
4 3
2 1
2 1
2 1
2 1
9 8
9 8
5 4
1 2
6 5
3 4
3 2
7 8
7 6
2 1
1 2
14 13
3 10
5 6
2 9
11 4
2 3
2 1
8 7
13 6
5 4
5 12
6 7
4 3
7 14
16 15
2 3
2 1
6 10
6 9
6 4
9 11
...

output:

3
4 8 12
1
2
2
3 7
1
1
1
1
3
1 4 7
1
1
3
1 11 5
3
3 12 11
1
1
4
1 6 11 16
2
3 8
2
7 3
3
1 10 9
1
1
3
4 8 12
1
2
1
1
2
2 9
1
1
2
1 3
2
2 6
3
1 11 5
3
1 12 11
1
1
3
4 8 12
1
2
3
2 6 13
1
2
1
1
4
2 7 12 17
2
4 3
3
1 5 11
3
2 11 10
1
1
2
1 4
1
3
2
4 9
3
2 10 9
1
1
3
1 5 9
1
2
2
4 9
2
1 3
1
1
2
3 7
2
1 8...

result:

ok correct (10000 test cases)

Test #3:

score: -100
Wrong Answer
time: 34ms
memory: 4032kb

input:

100
2000 1999
529 528
885 884
1221 1222
375 374
245 244
758 757
711 710
1521 1522
1875 1874
749 750
823 822
1959 1958
1767 1766
155 154
631 632
825 824
1330 1331
457 456
1344 1343
1817 1818
413 414
582 583
1828 1827
1335 1336
654 655
162 161
1668 1667
1966 1967
1472 1471
1185 1184
518 517
1509 1510
...

output:

44
21 66 111 156 201 246 291 336 381 426 471 516 561 606 651 696 741 786 831 876 921 966 1011 1056 1101 1146 1191 1236 1281 1326 1371 1416 1461 1506 1551 1596 1641 1686 1731 1776 1821 1866 1911 1956
1
1
44
12 1056 57 102 147 192 1236 237 282 327 372 417 1461 462 1506 507 552 1596 597 1641 642 1686 6...

result:

wrong answer Condition failed: "getMaxBfsDist(n, subset) <= csqrtn" (test case 39)