QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#131146#6634. Central Subsetstasio6#WA 10ms30784kbC++141.4kb2023-07-26 16:13:342023-07-26 16:13:37

Judging History

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

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2023-07-26 16:13:37]
  • 评测
  • 测评结果:WA
  • 用时:10ms
  • 内存:30784kb
  • [2023-07-26 16:13:34]
  • 提交

answer

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

#define rep(i, a, b) for(int i = a; i < (b); ++i)
#define all(x) begin(x), end(x)
#define sz(x) (int)(x).size()
#define PB push_back
#define FS first
#define SD second
#define cmx(x,y) x = max(x,y)
#define cmn(x,y) x = min(x,y)
#define ary(k) array<int,k>
typedef long long ll;
typedef pair<int, int> pii;
typedef vector<int> vi;

vi kra[1000002];
int dp[1000002], odw[1000002];
vi ans;

void dfs(int n, int sq) {
    odw[n] = 1;
    int maxdep = 0;
    for (auto v : kra[n]) {
        if (odw[v]) continue;
        dfs(v, sq);
        cmx(maxdep, dp[v]+1);
    }
    if (maxdep == sq) {
        ans.PB(n);
        dp[n] = 0;
    } else {
        dp[n] = maxdep;
    }
}

void fun() {
    ans.clear();
    int n, m, sq;
    cin >> n >> m;
    sq = sqrt(n);
    if (sq * sq < n) sq++;
    for (int i = 1; i <= n; i++) {
        kra[i].clear();
        odw[i] = 0;
    }
    for (int i = 0; i < m; i++) {
        int a, b;
        cin >> a >> b;
        kra[a].PB(b);
        kra[b].PB(a);
    }
    dfs(1, sq);
    if (dp[n] != 0 || n == 1) ans.PB(1);
    cout << ans.size() << "\n";
    for (auto v : ans) cout << v << " ";
    cout << "\n";
}

signed main() {
    cin.tie(0)->sync_with_stdio(0); cin.exceptions(cin.failbit);
    int t;
    cin >> t;
    while(t--) fun();
}

詳細信息

Test #1:

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

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:

1
2 
1
1 

result:

ok correct (2 test cases)

Test #2:

score: -100
Wrong Answer
time: 10ms
memory: 30784kb

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
11 7 3 
1
1 
1
2 
0

0

2
6 3 
0

1
4 
2
10 3 
0

3
15 10 5 
1
3 
1
2 
1
5 
0

3
11 7 3 
1
1 
0

1
2 
0

1
2 
1
3 
1
4 
2
5 1 
0

3
11 7 3 
1
1 
2
5 1 
1
1 
0

4
16 11 6 1 
1
2 
1
4 
2
7 4 
0

1
3 
1
2 
1
3 
3
7 6 1 
0

2
8 4 
1
1 
1
3 
1
2 
0

2
6 2 
1
3 
1
3 
2
5 1 
0

3
13 8 3 
1
1 
1
3 
1
4 
0...

result:

wrong answer Integer 0 violates the range [1, 2] (test case 4)