| # | Time | Username | Problem | Language | Result | Execution time | Memory | 
|---|---|---|---|---|---|---|---|
| 466797 | M4mou | Senior Postmen (BOI14_postmen) | C++17 | 4 ms | 3020 KiB | 
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
bool v[500005],queued[500005];
int next0[500005];
vector<vector<pair<int,int>>> graph;
int dfs(int x, int p){
    if(queued[x]){
        cout << x << " ";
        return x;
    }
    queued[x] = 1;
   // cout << x << endl;
    for(;next0[x]<graph[x].size();next0[x]++){
        auto edge = graph[x][next0[x]];
        if(v[edge.second] || p == x)continue;
        v[edge.second] = 1;
        int y = dfs(edge.first,x);
        queued[x] = 0;
        if(x != y){
            cout << x << " ";
            return y;
        }
        cout << '\n';
    }
    return -1;
}
int main(){
    memset(v , 0, sizeof v);
    memset(next0,0,sizeof next0);
    int n,m;
    cin >> n >> m;
    graph.resize(n+1);
    while(m--){
        int x , y;
        cin >> x >> y;
        graph[x].push_back({y,m});
        graph[y].push_back({x,m});
    }
    for(int i = 1;i<=n;i++)dfs(i,-1);
}
Compilation message (stderr)
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
