# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
980767 | 2024-05-12T11:25:16 Z | fv3 | Senior Postmen (BOI14_postmen) | C++14 | 12 ms | 41308 KB |
#include <bits/stdc++.h> using namespace std; typedef long long ll; vector<int> adj[500000]; int start[500000]; unordered_set<int> c[500000]; vector<int> ep; void euler(int index, int last) { c[last].insert(index); c[index].insert(last); for (int i = start[i]; i < adj[index].size(); i++) { start[i]++; int node = adj[index][i]; if (!c[node].count(index) && !c[index].count(node)) euler(node, index); } ep.push_back(index); } int main() { int N, M; cin >> N >> M; 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); } euler(0, 0); vector<int> occourence(N, -1); vector<int> linkedList(ep.size(), -1); iota(linkedList.begin(), linkedList.end(), 1); for (int i = 0; i < ep.size(); i++) { int value = ep[i]; if (occourence[value] != -1) { int j = linkedList[occourence[value]]; linkedList[occourence[value]] = i + 1; for (; j < i; j = linkedList[j]) { cout << ep[j] + 1 << ' '; occourence[ep[j]] = -1; } cout << ep[i] + 1 << '\n'; continue; } occourence[value] = i; } return 0; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 12 ms | 41308 KB | Some edges were not used |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 10 ms | 41308 KB | Some edges were not used |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 10 ms | 41304 KB | Some edges were not used |
2 | Halted | 0 ms | 0 KB | - |