Submission #697556

#TimeUsernameProblemLanguageResultExecution timeMemory
697556piOOENewspapers (CEOI21_newspapers)C++17
0 / 100
1 ms324 KiB
#include <bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int n, m; cin >> n >> m; vector<vector<int>> adj(n); for (int i = 0; i < m; ++i) { int x, y; cin >> x >> y; x -= 1, y -= 1; adj[x].push_back(y); adj[y].push_back(x); } auto bfs = [&](int source) { vector<int> dist(n, -1); dist[source] = 0; queue<int> q; q.push(source); while (!q.empty()) { int v = q.front(); q.pop(); for (int to : adj[v]) { if (dist[to] == -1) { dist[to] = dist[v] + 1; q.push(to); } } } return dist; }; auto tmp = bfs(0); int d = max_element(tmp.begin(), tmp.end()) - tmp.begin(); auto dist = bfs(d); if (*max_element(dist.begin(), dist.end()) > 2) { cout << "NO\n"; return 0; } cout << "YES\n"; cout << "1\n1\n"; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...