10318 | 2024-03-30 17:49:42 | szil | Pletykálkodás | cpp17 | Időlimit túllépés 76/100 | 1.557s | 7488 KiB |
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int MAXN = 7001;
vector<int> g[MAXN];
vector<pair<int, int>> ans1, ans2;
bool vis[MAXN];
void dfs(int u) {
vis[u] = true;
for (int v : g[u]) {
if (!vis[v]) {
dfs(v);
ans1.emplace_back(u, v);
}
}
}
void print_ans() {
int k = ans1.size() + ans2.size();
cout << k << "\n";
for (auto [u, v] : ans1) {
cout << u << " " << v << "\n";
}
for (auto [u, v] : ans2) {
cout << u << " " << v << "\n";
}
}
void case1() {
dfs(1);
ans2 = ans1;
ans2.pop_back();
reverse(ans2.begin(), ans2.end());
print_ans();
exit(0);
}
void case2(vector<int> cyc) {
for (int i : cyc) vis[i] = true;
for (int i : cyc) {
dfs(i);
}
ans2 = ans1;
ans1.emplace_back(cyc[0], cyc[1]);
ans1.emplace_back(cyc[2], cyc[3]);
ans1.emplace_back(cyc[0], cyc[3]);
ans1.emplace_back(cyc[1], cyc[2]);
reverse(ans2.begin(), ans2.end());
print_ans();
exit(0);
}
int main() {
ios::sync_with_stdio(0); cin.tie(0);
int n, m; cin >> n >> m;
if (n == 1) {
cout << "0\n";
return 0;
}
for (int i = 0; i < m; i++) {
int u, v; cin >> u >> v;
g[u].emplace_back(v);
g[v].emplace_back(u);
}
for (int i = 1; i <= n; i++) {
unordered_map<int, vector<int>> mp;
for (int u : g[i]) {
for (int v : g[u]) {
mp[v].emplace_back(u);
}
}
for (auto [u, vec] : mp) {
if (u == i) continue;
if (vec.size() >= 2) {
case2({i, vec[0], u, vec[1]});
}
}
}
case1();
return 0;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
subtask1 | 0/0 | ||||||
1 | Elfogadva | 3ms | 2248 KiB | ||||
2 | Elfogadva | 3ms | 2568 KiB | ||||
3 | Elfogadva | 10ms | 3180 KiB | ||||
subtask2 | 9/9 | ||||||
4 | Elfogadva | 3ms | 3124 KiB | ||||
5 | Elfogadva | 3ms | 3228 KiB | ||||
6 | Elfogadva | 3ms | 3456 KiB | ||||
subtask3 | 13/13 | ||||||
7 | Elfogadva | 30ms | 4684 KiB | ||||
8 | Elfogadva | 14ms | 4540 KiB | ||||
9 | Elfogadva | 13ms | 4544 KiB | ||||
subtask4 | 16/16 | ||||||
10 | Elfogadva | 7ms | 4696 KiB | ||||
11 | Elfogadva | 8ms | 4696 KiB | ||||
12 | Elfogadva | 7ms | 4692 KiB | ||||
subtask5 | 25/25 | ||||||
13 | Elfogadva | 3ms | 3724 KiB | ||||
14 | Elfogadva | 3ms | 3876 KiB | ||||
15 | Elfogadva | 3ms | 3796 KiB | ||||
16 | Elfogadva | 3ms | 3924 KiB | ||||
17 | Elfogadva | 3ms | 4020 KiB | ||||
18 | Elfogadva | 4ms | 3924 KiB | ||||
19 | Elfogadva | 3ms | 4032 KiB | ||||
subtask6 | 13/13 | ||||||
20 | Elfogadva | 4ms | 4548 KiB | ||||
21 | Elfogadva | 4ms | 4472 KiB | ||||
22 | Elfogadva | 4ms | 4724 KiB | ||||
23 | Elfogadva | 97ms | 5184 KiB | ||||
24 | Elfogadva | 105ms | 4932 KiB | ||||
25 | Elfogadva | 177ms | 4896 KiB | ||||
26 | Elfogadva | 59ms | 4928 KiB | ||||
subtask7 | 0/24 | ||||||
27 | Elfogadva | 12ms | 6280 KiB | ||||
28 | Elfogadva | 12ms | 6448 KiB | ||||
29 | Elfogadva | 12ms | 6608 KiB | ||||
30 | Időlimit túllépés | 1.555s | 4840 KiB | ||||
31 | Időlimit túllépés | 1.547s | 4744 KiB | ||||
32 | Időlimit túllépés | 1.549s | 4928 KiB | ||||
33 | Időlimit túllépés | 1.557s | 5040 KiB | ||||
34 | Időlimit túllépés | 1.554s | 5008 KiB | ||||
35 | Elfogadva | 57ms | 7380 KiB | ||||
36 | Elfogadva | 300ms | 7488 KiB | ||||
37 | Elfogadva | 13ms | 6696 KiB |