QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#135197#6634. Central Subsetwtn135687#WA 13ms8992kbC++141.3kb2023-08-05 12:43:022023-08-05 12:43:04

Judging History

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

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2023-08-05 12:43:04]
  • 评测
  • 测评结果:WA
  • 用时:13ms
  • 内存:8992kb
  • [2023-08-05 12:43:02]
  • 提交

answer

#include<bits/stdc++.h>
#define pll pair<ll, ll>
using namespace std;
typedef long long ll;
#define int ll

const int N = 2e5+10;
const int M = 1e6 + 7;

int n, m, fa[N], mx;
vector<ll> edge[N], ans;
bool vis[N];
void init(){
    // ans.clear();
    for (int i = 0; i <= n; i++)fa[i] = i, edge[i].clear(),vis[i]=0;
    ans.clear();
    mx = sqrt(n);
    if (mx * mx < n)mx++;
}
int ok=1;
int dfs(int u){
    int dis=0;
    vis[u]=1;
    for(int v:edge[u]){
        if(vis[v])continue;
        // vis[v]=1;
        dis=max((dfs(v)+1),dis);
    }
    // cout<<"u->"<<u<<" dis->"<<dis<<endl;
    if(dis==mx){
        ans.push_back(u);
        if(u==1){
            ok=0;
        }
        return -1;
    }
    return dis;
}




inline void solve(){
    cin >> n >> m;
    init();
    for (int i = 1, u, v; i <= m; i++){
        cin >> u >> v;
        edge[u].push_back(v);
        edge[v].push_back(u);
    }
    // cout<<"mx->"<<mx<<endl;
    // ans.push_back(1);
    dfs(1);
    if(ok){
        ans.push_back(1);
    }
    sort(ans.begin(),ans.end());
    cout<<ans.size()<<"\n";for(int i:ans)cout<<i<<" ";cout<<"\n";
}



signed main(){
    ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
    int WTN666=1;cin>>WTN666;
    while(WTN666--){
        solve();
    }
}

详细

Test #1:

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

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 2 
1
1 

result:

ok correct (2 test cases)

Test #2:

score: -100
Wrong Answer
time: 13ms
memory: 8992kb

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

0

2
2 6 
0

1
4 
2
3 10 
0

3
3 9 15 
1
3 
1
2 
1
5 
0

3
1 6 11 
1
1 
0

1
2 
0

1
2 
1
3 
1
4 
2
1 5 
0

3
1 6 11 
1
1 
2
1 5 
1
1 
0

3
4 10 16 
1
2 
1
4 
2
4 7 
0

1
3 
1
2 
1
3 
3
1 6 7 
0

2
3 8 
1
1 
1
3 
1
2 
0

2
1 6 
1
3 
1
3 
2
1 5 
0

3
1 7 13 
1
1 
1
3 
1
4 
0

3...

result:

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