답안 #356248

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
356248 2021-01-23T08:36:40 Z parsabahrami 어르신 집배원 (BOI14_postmen) C++17
55 / 100
500 ms 100716 KB
// Call my Name and Save me from The Dark
#include <bits/stdc++.h>
 
using namespace std;

typedef long long int ll;
typedef pair<int, int> pii;
 
#define SZ(x)                       (int) x.size()
#define F                           first
#define S                           second

const int N = 5e5 + 10;
int M[N], ptr[N], from[N], to[N], n, m; vector<int> adj[N]; set<pii> tr;

void tour(int v) {
    while (ptr[v] < SZ(adj[v])) {
        int id = adj[v][ptr[v]++]; int u = from[id] ^ v ^ to[id];
        if (!M[id]) M[id] = 1, tour(u);
    }
    tr.insert({SZ(tr) + 1, v});
}

int main() {
    scanf("%d%d", &n, &m);
    for (int i = 1; i <= m; i++) {
        scanf("%d%d", &from[i], &to[i]);
        adj[from[i]].push_back(i);
        adj[to[i]].push_back(i);
    }
    for (int i = 1; i <= n; i++) assert(!(SZ(adj[i]) & 1));
    tour(1);
    memset(M, 0, sizeof M);
    for (auto it = tr.begin(); it != tr.end(); it = tr.upper_bound(*it)) {
        if (M[it->S]) {
            for (auto it2 = tr.lower_bound({M[it->S], it->S}); it2 != it;) {
                M[it2->S] = 0;
                printf("%d ", it2->S);
                it2 = tr.erase(it2);
            }
            printf("\n");
            M[it->S] = it->F;
        } else M[it->S] = it->F;
    }
    return 0;
}

Compilation message

postmen.cpp: In function 'int main()':
postmen.cpp:25:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   25 |     scanf("%d%d", &n, &m);
      |     ~~~~~^~~~~~~~~~~~~~~~
postmen.cpp:27:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   27 |         scanf("%d%d", &from[i], &to[i]);
      |         ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 10 ms 14208 KB Output is correct
2 Correct 10 ms 14060 KB Output is correct
3 Correct 10 ms 14060 KB Output is correct
4 Correct 12 ms 14592 KB Output is correct
5 Correct 11 ms 14188 KB Output is correct
6 Correct 13 ms 14700 KB Output is correct
7 Correct 20 ms 16236 KB Output is correct
8 Correct 11 ms 14444 KB Output is correct
9 Correct 85 ms 27756 KB Output is correct
10 Correct 12 ms 14592 KB Output is correct
11 Correct 12 ms 14572 KB Output is correct
12 Correct 92 ms 28140 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 10 ms 14060 KB Output is correct
2 Correct 10 ms 14060 KB Output is correct
3 Correct 10 ms 14060 KB Output is correct
4 Correct 12 ms 14572 KB Output is correct
5 Correct 10 ms 14188 KB Output is correct
6 Correct 13 ms 14700 KB Output is correct
7 Correct 20 ms 16236 KB Output is correct
8 Correct 13 ms 14444 KB Output is correct
9 Correct 87 ms 27756 KB Output is correct
10 Correct 13 ms 14444 KB Output is correct
11 Correct 12 ms 14444 KB Output is correct
12 Correct 91 ms 28140 KB Output is correct
13 Correct 124 ms 31084 KB Output is correct
14 Correct 116 ms 26988 KB Output is correct
15 Correct 119 ms 29928 KB Output is correct
16 Correct 155 ms 31180 KB Output is correct
17 Correct 126 ms 24556 KB Output is correct
18 Correct 123 ms 28652 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 10 ms 14060 KB Output is correct
2 Correct 11 ms 14060 KB Output is correct
3 Correct 10 ms 14060 KB Output is correct
4 Correct 14 ms 14572 KB Output is correct
5 Correct 10 ms 14188 KB Output is correct
6 Correct 12 ms 14700 KB Output is correct
7 Correct 24 ms 16364 KB Output is correct
8 Correct 12 ms 14444 KB Output is correct
9 Correct 84 ms 27884 KB Output is correct
10 Correct 12 ms 14316 KB Output is correct
11 Correct 13 ms 14444 KB Output is correct
12 Correct 92 ms 28140 KB Output is correct
13 Correct 127 ms 31328 KB Output is correct
14 Correct 115 ms 26988 KB Output is correct
15 Correct 138 ms 29804 KB Output is correct
16 Correct 116 ms 31084 KB Output is correct
17 Correct 113 ms 24556 KB Output is correct
18 Correct 136 ms 28652 KB Output is correct
19 Execution timed out 821 ms 100716 KB Time limit exceeded
20 Halted 0 ms 0 KB -