Submission #347395

#TimeUsernameProblemLanguageResultExecution timeMemory
347395blueSenior Postmen (BOI14_postmen)C++11
0 / 100
12 ms16000 KiB
#include <iostream>
#include <vector>
using namespace std;

int x[500001], y[500001];
vector<int> edge[500001];
vector<int> node_visit(500001, 0);
vector<int> visit(500001, 0);
int N, M;

int o;

void dfs(int u)
{
    node_visit[u] = 1;
    for(int e: edge[u])
    {
        if(visit[e]) continue;
        if(node_visit[x[e] + y[e] - u]) continue;
        visit[e] = 1;
        cout << x[e] + y[e] - u << ' ';
        dfs(x[e] + y[e] - u);
        break;
    }
    node_visit[u] = 0;
}

int main()
{
    cin >> N >> M;
    for(int j = 1; j <= M; j++)
    {
        cin >> x[j] >> y[j];
        edge[x[j]].push_back(j);
        edge[y[j]].push_back(j);
    }

    for(int i = 1; i <= N; i++)
    {
        o = i;
        dfs(i);
        cout << '\n';
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...