Submission #528153

#TimeUsernameProblemLanguageResultExecution timeMemory
528153jesus_coconutNewspapers (CEOI21_newspapers)C++17
8 / 100
1 ms332 KiB
#include <bits/stdc++.h> using namespace std; int n, m; vector<vector<int>> adj; void load() { cin >> n >> m; adj.resize(n); for (int i = 0; i < m; ++i) { int a, b; cin >> a >> b; --a; --b; adj[a].push_back(b); adj[b].push_back(a); } } int const N = 1024; bitset<N> bio; void solve2() { if (n <= 3) { cout << "YES\n"; cout << "2\n2 2\n"; return; } cout << "YES\n"; cout << 2 * n - 4 << '\n'; for (int i = 2; i < n; ++i) { cout << i << ' '; } for (int i = n - 1; i > 1; --i) { cout << i << ' '; } cout << '\n'; } bool isLine() { for (int i = 0; i < n - 1; ++i) { bool good = false; for (auto u : adj[i]) { good |= (u == i + 1); } if (!good) return false; } return true; } int main() { ios::sync_with_stdio(false); cin.tie(nullptr); load(); if (m >= n) { cout << "NO\n"; return 0; } if (n == 1) { cout << "YES\n"; cout << "1\n1\n"; return 0; } if (isLine()) { solve2(); return 0; } cout << "YES\n"; cout << 3 * n << '\n'; for (int k = 0; k < 3; ++k) { for (int i = 1; i <= n; ++i) { cout << i << ' '; } } cout << '\n'; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...