Submission #928590

# Submission time Handle Problem Language Result Execution time Memory
928590 2024-02-16T17:29:52 Z tomb Senior Postmen (BOI14_postmen) C++17
55 / 100
500 ms 140060 KB
#include<bits/stdc++.h>
using namespace std;
#define MAXN (int) 5e5
#define ll long long
#define pb push_back
#define eb emplace_back
#define pil pair<int, ll>
#define pli pair<ll, int>
#define pll pair<ll, ll>
#define vpli vector<pli>
#define vpil vector<pil>
#define vpll vector<pll>
#define pii pair<int, int>
#define vpii vector<pii>
#define vi vector<int>
#define vvi vector<vi>

unordered_set<int> adj[MAXN];

int main(){
    int n, m;
    cin >> n >> m;
    for (int i = 0; i < m; i++){
        int u, v;
        cin >> u >> v;
        u--,v--;
        adj[u].insert(v);
        adj[v].insert(u);
    }



    stack<int> st;
    st.push(0);
    vvi paths;
    // vi path;
    vi vis;
    map<int, int> vis_idx;
    while (st.size()){
        int u = st.top();

        // if (vis.size() && u == vis.front())
        // {
        //     // reverse(vis.begin(), vis.end());
        //     paths.pb(vis);
        //     vis.clear();
        // }
        if (vis_idx.count(u) && vis_idx[u] != -1){
            vi path;
            while (vis.size() && vis.back() != u){
                path.pb(vis.back());
                vis_idx[vis.back()] = -1;
                vis.pop_back();
            }
            path.pb(u);
            reverse(path.begin(), path.end());
            paths.pb(path);
            if (vis.size()) vis.pop_back();
        }
        

        if (adj[u].size()){
            vis.pb(u);
            vis_idx[u] = vis.size() - 1;
            auto v = adj[u].begin();
            st.push(*v);
            adj[*v].erase(u);
            adj[u].erase(*v);
        }
        else {
            st.pop();
            // path.pb(u);
        }
    }
    // cout << "ans: " << endl;
    for (auto p : paths){
        if (p.size() == 1) continue;
        for (int i : p) cout << i + 1 << " ";
        cout << endl;
    }
    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 15 ms 27996 KB Output is correct
2 Correct 7 ms 27740 KB Output is correct
3 Correct 7 ms 27740 KB Output is correct
4 Correct 11 ms 28252 KB Output is correct
5 Correct 8 ms 27764 KB Output is correct
6 Correct 11 ms 28248 KB Output is correct
7 Correct 24 ms 29272 KB Output is correct
8 Correct 9 ms 28248 KB Output is correct
9 Correct 112 ms 37200 KB Output is correct
10 Correct 11 ms 28248 KB Output is correct
11 Correct 10 ms 28252 KB Output is correct
12 Correct 134 ms 37784 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 7 ms 27736 KB Output is correct
2 Correct 7 ms 27736 KB Output is correct
3 Correct 9 ms 27836 KB Output is correct
4 Correct 11 ms 28252 KB Output is correct
5 Correct 8 ms 27772 KB Output is correct
6 Correct 11 ms 28252 KB Output is correct
7 Correct 21 ms 29276 KB Output is correct
8 Correct 9 ms 28664 KB Output is correct
9 Correct 101 ms 37188 KB Output is correct
10 Correct 18 ms 28548 KB Output is correct
11 Correct 10 ms 28252 KB Output is correct
12 Correct 119 ms 37808 KB Output is correct
13 Correct 146 ms 49976 KB Output is correct
14 Correct 173 ms 46260 KB Output is correct
15 Correct 198 ms 48528 KB Output is correct
16 Correct 145 ms 50112 KB Output is correct
17 Correct 206 ms 45056 KB Output is correct
18 Correct 189 ms 46376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 7 ms 27740 KB Output is correct
2 Correct 8 ms 27736 KB Output is correct
3 Correct 7 ms 27740 KB Output is correct
4 Correct 12 ms 28428 KB Output is correct
5 Correct 12 ms 27736 KB Output is correct
6 Correct 13 ms 28248 KB Output is correct
7 Correct 21 ms 29408 KB Output is correct
8 Correct 9 ms 28260 KB Output is correct
9 Correct 101 ms 37348 KB Output is correct
10 Correct 15 ms 28252 KB Output is correct
11 Correct 10 ms 28252 KB Output is correct
12 Correct 129 ms 37740 KB Output is correct
13 Correct 141 ms 50120 KB Output is correct
14 Correct 168 ms 45940 KB Output is correct
15 Correct 198 ms 48020 KB Output is correct
16 Correct 137 ms 50108 KB Output is correct
17 Correct 221 ms 45316 KB Output is correct
18 Correct 174 ms 46092 KB Output is correct
19 Execution timed out 904 ms 140060 KB Time limit exceeded
20 Halted 0 ms 0 KB -