답안 #97101

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
97101 2019-02-13T20:51:56 Z dalgerok 어르신 집배원 (BOI14_postmen) C++14
100 / 100
489 ms 55284 KB
#include<bits/stdc++.h>
using namespace std;


const int N = 5e5 + 5;


int n, m, x[N], y[N];
vector < int > g[N], q1, q2;
bool used[N];
vector < int > q;


void dfs(int v){
    while(!g[v].empty()){
        int num = g[v].back();
        g[v].pop_back();
        if(used[num]){
            continue;
        }
        used[num] = true;
        int to = (x[num] ^ v ^ y[num]);
        dfs(to);
    }
    q1.push_back(v);
}

inline void read(int &x){
    x = 0;
    char c = getchar_unlocked();
    while(c < '0' || c > '9'){
        c = getchar_unlocked();
    }
    while('0' <= c && c <= '9'){
        x = x * 10 + c - '0';
        c = getchar_unlocked();
    }
}
inline void print(int x){
    int len = 0;
    while(x % 10 == 0){
        len += 1;
        x /= 10;
    }
    int y = 0;
    while(x){
        y = y * 10 + x % 10;
        x /= 10;
    }
    while(y){
        putchar_unlocked('0' + y % 10);
        y /= 10;
    }
    while(len--){
        putchar_unlocked('0');
    }
}

int main(){
    read(n);
    read(m);
    for(int i = 1; i <= m; i++){
        read(x[i]);
        read(y[i]);
        g[x[i]].push_back(i);
        g[y[i]].push_back(i);
    }
    dfs(1);
    memset(used, 0, sizeof(used));
    for(int i = 0; i < (int)q1.size(); i++){
        int it = q1[i];
        if(!used[it]){
            used[it] = true;
            q2.push_back(it);
        }
        else{
            while(q2.back() != it){
                print(q2.back());
                putchar_unlocked(' ');
                used[q2.back()] = false;
                q2.pop_back();
            }
            print(it);
            putchar_unlocked('\n');
        }
    }
}
# 결과 실행 시간 메모리 Grader output
1 Correct 12 ms 12544 KB Output is correct
2 Correct 15 ms 12544 KB Output is correct
3 Correct 12 ms 12544 KB Output is correct
4 Correct 13 ms 12800 KB Output is correct
5 Correct 14 ms 12672 KB Output is correct
6 Correct 12 ms 12928 KB Output is correct
7 Correct 15 ms 13568 KB Output is correct
8 Correct 13 ms 12672 KB Output is correct
9 Correct 31 ms 18380 KB Output is correct
10 Correct 13 ms 12672 KB Output is correct
11 Correct 12 ms 12800 KB Output is correct
12 Correct 31 ms 18556 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 12 ms 12544 KB Output is correct
2 Correct 14 ms 12544 KB Output is correct
3 Correct 15 ms 12544 KB Output is correct
4 Correct 13 ms 12800 KB Output is correct
5 Correct 12 ms 12672 KB Output is correct
6 Correct 12 ms 12800 KB Output is correct
7 Correct 16 ms 13568 KB Output is correct
8 Correct 12 ms 12672 KB Output is correct
9 Correct 28 ms 18296 KB Output is correct
10 Correct 13 ms 12800 KB Output is correct
11 Correct 13 ms 12800 KB Output is correct
12 Correct 37 ms 18676 KB Output is correct
13 Correct 63 ms 21068 KB Output is correct
14 Correct 54 ms 18700 KB Output is correct
15 Correct 48 ms 19848 KB Output is correct
16 Correct 78 ms 21108 KB Output is correct
17 Correct 62 ms 17008 KB Output is correct
18 Correct 66 ms 19316 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 12 ms 12544 KB Output is correct
2 Correct 11 ms 12520 KB Output is correct
3 Correct 14 ms 12544 KB Output is correct
4 Correct 13 ms 12800 KB Output is correct
5 Correct 14 ms 12672 KB Output is correct
6 Correct 14 ms 12800 KB Output is correct
7 Correct 19 ms 13568 KB Output is correct
8 Correct 14 ms 12800 KB Output is correct
9 Correct 31 ms 18416 KB Output is correct
10 Correct 29 ms 12800 KB Output is correct
11 Correct 12 ms 12672 KB Output is correct
12 Correct 31 ms 18580 KB Output is correct
13 Correct 66 ms 21108 KB Output is correct
14 Correct 62 ms 18652 KB Output is correct
15 Correct 53 ms 19824 KB Output is correct
16 Correct 57 ms 21084 KB Output is correct
17 Correct 55 ms 17008 KB Output is correct
18 Correct 60 ms 19240 KB Output is correct
19 Correct 442 ms 55224 KB Output is correct
20 Correct 393 ms 43328 KB Output is correct
21 Correct 366 ms 48572 KB Output is correct
22 Correct 489 ms 55284 KB Output is correct
23 Correct 103 ms 40436 KB Output is correct
24 Correct 467 ms 34580 KB Output is correct
25 Correct 458 ms 46160 KB Output is correct