Submission #1087040

# Submission time Handle Problem Language Result Execution time Memory
1087040 2024-09-12T06:20:53 Z shidou26 Senior Postmen (BOI14_postmen) C++14
100 / 100
300 ms 95680 KB
#include <bits/stdc++.h>
using namespace std;

#define endl '\n'
#define all(v) v.begin(), v.end()

typedef long long ll;
typedef pair<int, int> ii;
typedef pair<ll, int> li;

const int N = 1e6 + 3;

int n, m;
int eu[N], ev[N];
vector<int> adj[N];

bool vst[N], used[N];
vector<int> nodes;

void prepare() {

}

void input() {
    cin >> n >> m;

    for(int i = 1; i <= m; i++) {
        int u, v; cin >> u >> v;
        eu[i] = u;
        ev[i] = v;
        adj[u].push_back(i);
        adj[v].push_back(i);
    }
}

void dfs(int u) {
    if(vst[u]) {
        while(!nodes.empty()) {
            int node = nodes.back();
            cout << node << " ";
            if(node == u) break;
            vst[node] = false;
            nodes.pop_back();
        }
        cout << endl;
    }else {
        nodes.push_back(u);
        vst[u] = true;
    }

    while(!adj[u].empty()) {
        int id = adj[u].back(); adj[u].pop_back();
        if(!used[id]) {
            used[id] = true;
            int v = eu[id] + ev[id] - u;
            dfs(v);
            break;
        }
    }
}

void process() {
    for(int i = 1; i <= n; i++) {
        if(!adj[i].empty()) dfs(i);
    }
}

int main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);

    #define task "kurumi"
    if(fopen(task".INP", "r")) {
        freopen(task".INP", "r", stdin);
        freopen(task".OUT", "w", stdout);
    }

    prepare();

    int testcase = 1; // cin >> testcase;
    for(int i = 1; i <= testcase; i++) {
        input();
        process();
    }

    return 0;
}

Compilation message

postmen.cpp: In function 'int main()':
postmen.cpp:74:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   74 |         freopen(task".INP", "r", stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
postmen.cpp:75:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   75 |         freopen(task".OUT", "w", stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 10 ms 23900 KB Output is correct
2 Correct 11 ms 23900 KB Output is correct
3 Correct 11 ms 23900 KB Output is correct
4 Correct 10 ms 24156 KB Output is correct
5 Correct 11 ms 23900 KB Output is correct
6 Correct 11 ms 24228 KB Output is correct
7 Correct 15 ms 25436 KB Output is correct
8 Correct 11 ms 24152 KB Output is correct
9 Correct 34 ms 34644 KB Output is correct
10 Correct 11 ms 24156 KB Output is correct
11 Correct 11 ms 24156 KB Output is correct
12 Correct 39 ms 34900 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 10 ms 23900 KB Output is correct
2 Correct 10 ms 23900 KB Output is correct
3 Correct 11 ms 23900 KB Output is correct
4 Correct 11 ms 24156 KB Output is correct
5 Correct 12 ms 24036 KB Output is correct
6 Correct 13 ms 24412 KB Output is correct
7 Correct 14 ms 25436 KB Output is correct
8 Correct 10 ms 24156 KB Output is correct
9 Correct 39 ms 34644 KB Output is correct
10 Correct 11 ms 24156 KB Output is correct
11 Correct 11 ms 24156 KB Output is correct
12 Correct 35 ms 34868 KB Output is correct
13 Correct 47 ms 38088 KB Output is correct
14 Correct 40 ms 29180 KB Output is correct
15 Correct 42 ms 36552 KB Output is correct
16 Correct 58 ms 38148 KB Output is correct
17 Correct 45 ms 29452 KB Output is correct
18 Correct 47 ms 35152 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 12 ms 23896 KB Output is correct
2 Correct 10 ms 23900 KB Output is correct
3 Correct 10 ms 23960 KB Output is correct
4 Correct 11 ms 24164 KB Output is correct
5 Correct 10 ms 23896 KB Output is correct
6 Correct 12 ms 24664 KB Output is correct
7 Correct 14 ms 25432 KB Output is correct
8 Correct 10 ms 24176 KB Output is correct
9 Correct 33 ms 34644 KB Output is correct
10 Correct 12 ms 24152 KB Output is correct
11 Correct 11 ms 24156 KB Output is correct
12 Correct 40 ms 34900 KB Output is correct
13 Correct 59 ms 37904 KB Output is correct
14 Correct 45 ms 29284 KB Output is correct
15 Correct 50 ms 36632 KB Output is correct
16 Correct 49 ms 38088 KB Output is correct
17 Correct 44 ms 29524 KB Output is correct
18 Correct 47 ms 35156 KB Output is correct
19 Correct 275 ms 95676 KB Output is correct
20 Correct 232 ms 51144 KB Output is correct
21 Correct 249 ms 88252 KB Output is correct
22 Correct 300 ms 95680 KB Output is correct
23 Correct 132 ms 77140 KB Output is correct
24 Correct 240 ms 54316 KB Output is correct
25 Correct 264 ms 80560 KB Output is correct