//#define _GLIBCXX_DEBUG
//#define _GLIBCXX_DEBUG_PEDANTIC
#include <iostream>
#include <sstream>
#include <vector>
#include <list>
#include <algorithm>
struct edge {
int vertex;
std::list<edge>::iterator opposite;
edge(int vertex, std::list<edge>::iterator opposite) : vertex(vertex), opposite(opposite) {};
edge(int vertex) : vertex(vertex) {};
};
int main() {
std::cin >> std::noskipws;
std::string input;
std::getline(std::cin, input, '$');
std::stringstream cin (input);
std::stringstream cout;
// ----------------------
int nvertex, nedge;
cin >> nvertex >> nedge;
std::vector<std::list<edge>> adjlist (nvertex);
for (int i = 0; i < nedge; ++i) {
int u, v;
cin >> u >> v;
adjlist[--u].emplace_front(--v);
adjlist[v].emplace_front(u);
adjlist[u].front().opposite = adjlist[v].begin(); // begin = iterator of front
adjlist[v].front().opposite = adjlist[u].begin(); // begin = iterator of front
}
// cout << "------------\n";
std::vector<int> passedvertices;
std::vector<char> passedp (nvertex, false);
for (int vertex = 0; vertex < nvertex; ++vertex) {
// cout << "vertex = " << vertex << '\n';
while (!adjlist[vertex].empty()) {
passedvertices.push_back(vertex);
passedp[vertex] = true;
while ((!passedvertices.empty()) && !adjlist[passedvertices.back()].empty()) {
edge e = adjlist[passedvertices.back()].back();
int nextvertex = e.vertex;
adjlist[nextvertex].erase(e.opposite);
adjlist[passedvertices.back()].pop_back(); // erase (e)
if (passedp[nextvertex]) {
// cout << "Cycle :\n";
do {
cout << 1+passedvertices.back() << ' ';
passedp[passedvertices.back()] = false; passedvertices.pop_back();
} while (passedvertices.back() != nextvertex);
cout << 1+nextvertex << '\n';
} else {
passedvertices.push_back(nextvertex);
passedp[nextvertex] = true;
}
}
}
}
// ----------------------
std::cout << cout.str();
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
5 ms |
256 KB |
Output is correct |
2 |
Correct |
5 ms |
256 KB |
Output is correct |
3 |
Correct |
5 ms |
256 KB |
Output is correct |
4 |
Correct |
7 ms |
768 KB |
Output is correct |
5 |
Correct |
6 ms |
512 KB |
Output is correct |
6 |
Correct |
8 ms |
768 KB |
Output is correct |
7 |
Correct |
17 ms |
1920 KB |
Output is correct |
8 |
Correct |
7 ms |
640 KB |
Output is correct |
9 |
Correct |
90 ms |
11568 KB |
Output is correct |
10 |
Correct |
8 ms |
768 KB |
Output is correct |
11 |
Correct |
7 ms |
640 KB |
Output is correct |
12 |
Correct |
97 ms |
12076 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
5 ms |
256 KB |
Output is correct |
2 |
Correct |
5 ms |
384 KB |
Output is correct |
3 |
Correct |
8 ms |
256 KB |
Output is correct |
4 |
Correct |
7 ms |
768 KB |
Output is correct |
5 |
Correct |
5 ms |
384 KB |
Output is correct |
6 |
Correct |
9 ms |
768 KB |
Output is correct |
7 |
Correct |
15 ms |
1920 KB |
Output is correct |
8 |
Correct |
7 ms |
616 KB |
Output is correct |
9 |
Correct |
97 ms |
11580 KB |
Output is correct |
10 |
Correct |
8 ms |
768 KB |
Output is correct |
11 |
Correct |
8 ms |
640 KB |
Output is correct |
12 |
Correct |
99 ms |
12080 KB |
Output is correct |
13 |
Correct |
150 ms |
15952 KB |
Output is correct |
14 |
Correct |
153 ms |
16220 KB |
Output is correct |
15 |
Correct |
136 ms |
14576 KB |
Output is correct |
16 |
Correct |
150 ms |
16028 KB |
Output is correct |
17 |
Correct |
163 ms |
15664 KB |
Output is correct |
18 |
Correct |
158 ms |
16028 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
5 ms |
384 KB |
Output is correct |
2 |
Correct |
5 ms |
256 KB |
Output is correct |
3 |
Correct |
5 ms |
384 KB |
Output is correct |
4 |
Correct |
7 ms |
768 KB |
Output is correct |
5 |
Correct |
5 ms |
384 KB |
Output is correct |
6 |
Correct |
7 ms |
768 KB |
Output is correct |
7 |
Correct |
17 ms |
1972 KB |
Output is correct |
8 |
Correct |
6 ms |
640 KB |
Output is correct |
9 |
Correct |
91 ms |
11532 KB |
Output is correct |
10 |
Correct |
7 ms |
768 KB |
Output is correct |
11 |
Correct |
7 ms |
640 KB |
Output is correct |
12 |
Correct |
98 ms |
12088 KB |
Output is correct |
13 |
Correct |
155 ms |
16080 KB |
Output is correct |
14 |
Correct |
158 ms |
16084 KB |
Output is correct |
15 |
Correct |
120 ms |
14548 KB |
Output is correct |
16 |
Correct |
150 ms |
15976 KB |
Output is correct |
17 |
Correct |
156 ms |
15700 KB |
Output is correct |
18 |
Correct |
155 ms |
15952 KB |
Output is correct |
19 |
Execution timed out |
844 ms |
80196 KB |
Time limit exceeded |
20 |
Halted |
0 ms |
0 KB |
- |