Submission #576742

# Submission time Handle Problem Language Result Execution time Memory
576742 2022-06-13T11:41:45 Z talant117408 Newspapers (CEOI21_newspapers) C++17
50 / 100
79 ms 4472 KB
#include <bits/stdc++.h>
 
using namespace std;
 
typedef long long ll;
typedef pair <int, int> pii;
typedef pair <ll, ll> pll;

#define long                unsigned long 
#define pb                  push_back
#define mp                  make_pair
#define all(v)              (v).begin(),(v).end()
#define rall(v)             (v).rbegin(),(v).rend()
#define lb                  lower_bound
#define ub                  upper_bound
#define sz(v)               int((v).size())
#define do_not_disturb      ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define endl                '\n'

const int N = 1e3+3;
vector <int> graph[N], color(N);
int depth[N], furthest[N];
vector <int> diameter, order;
int df, vf, in_diameter[N];

void find_furthest(int v, int p, int dist) {
    order.pb(v);
    if (dist > df) {
        df = dist;
        vf = v;
        diameter = order;
    }
    for (auto to : graph[v]) {
        if (to == p) continue;
        find_furthest(to, v, dist+1);
    }
    order.pop_back();
}

int dfs(int v, int p) {
    int mx = depth[v];
    for (auto to : graph[v]) {
        if (to == p || in_diameter[to]) continue;
        depth[to] = depth[v] + 1;
        mx = max(mx, dfs(to, v));
    }
    furthest[v] = mx;
    return mx;
}

void dfs3(int v, int p, int c) {
    color[v] = c;
    for (auto to : graph[v]) {
        if (to == p) continue;
        dfs3(to, v, 1-c);
    }
}

void solve() {
    int n, m;
    cin >> n >> m;
    for (int i = 1; i <= m; i++) {
        int a, b;
        cin >> a >> b;
        graph[a].pb(b);
        graph[b].pb(a);
    }
    if (m >= n) {
        cout << "NO" << endl;
        return;
    }
    find_furthest(1, 1, 0);
    df = 0;
    find_furthest(vf, vf, 0);
    df = 0;
    for (auto to : diameter) in_diameter[to] = 1;
    for (int i = 0; i < sz(diameter); i++) {
        auto to = diameter[i];
        dfs(to, to);
        if (furthest[to] >= 3 && i >= 3 && i <= n-4) {
            df++;
        }
    }
    if (df) {
        cout << "NO" << endl;
        return;
    }
    
    
    dfs3(1, 1, 1);
    int forbidden, start = 1, forbidden_leaves = 0;
    for (int i = 1; i <= n; i++) {
        if (sz(graph[i]) == 1) {
            start = graph[i][0];
            forbidden = color[i];
            break;
        }
    }
    for (int i = 1; i <= n; i++) {
        if (sz(graph[i]) == 1 && forbidden == color[i]) {
            forbidden_leaves++;
        }
    }
    set <int> visited;
    vector <int> orderr;
    //~ int add = 1;
    function <void(int, int, int)> dfs2 = [&](int v, int p, int origin) {
        //~ if (add) {                                     
            //~ visited.insert(v);
            //~ orderr.pb(v);
        //~ }
        //~ if (sz(visited) == n-forbidden_leaves) {
            //~ add = 0;
        //~ }
        //~ for (auto to : graph[v]) {
            //~ if (to == p) continue;
            //~ if (sz(graph[to]) == 1 && color[to] == forbidden) continue;
            //~ dfs2(to, v);
            //~ if (add) {
                //~ visited.insert(v);
                //~ orderr.pb(v);
            //~ }
        //~ }
        if (origin != v) {
            orderr.pb(v);
            orderr.pb(origin);
        }
        for (auto to : graph[v]) {
            if (to == p || in_diameter[to] || sz(graph[to]) == 1) continue;
            dfs2(to, v, origin);
        }
    };
    //~ dfs2(start, start);
    for (int i = 1; i < sz(diameter)-1; i++) {
        orderr.pb(diameter[i]);
        orderr.pb(diameter[i]);
        dfs2(diameter[i], diameter[i], diameter[i]);
    }
    cout << "YES" << endl;
    if (n == 1) {
        cout << "1\n1";
        return;
    }
    else if (n == 2) {
        cout << "2\n1 1";
        return;
    }
    cout << sz(orderr)*2 << endl;
    for (auto to : orderr) cout << to << ' ';
    for (auto to : orderr) cout << to << ' ';
}

int main() {
    do_not_disturb
    
    int t = 1;
    //~ cin >> t;
    while (t--) {
        solve();
    }
    
    return 0;
}
/*
12 11
1 2
2 3
3 4
4 5
5 6
6 7
7 8
4 9
9 10
10 11
5 12
*/

Compilation message

newspapers.cpp: In function 'void solve()':
newspapers.cpp:91:20: warning: variable 'start' set but not used [-Wunused-but-set-variable]
   91 |     int forbidden, start = 1, forbidden_leaves = 0;
      |                    ^~~~~
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB Output is correct
2 Correct 0 ms 340 KB Output is correct
3 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
4 Partially correct 1 ms 340 KB Failed to provide a successful strategy.
5 Partially correct 1 ms 340 KB Provide a successful but not optimal strategy.
6 Partially correct 0 ms 340 KB Provide a successful but not optimal strategy.
7 Correct 0 ms 340 KB Output is correct
8 Partially correct 1 ms 340 KB Failed to provide a successful strategy.
9 Correct 0 ms 340 KB Output is correct
10 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
11 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
12 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
13 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
14 Partially correct 1 ms 340 KB Failed to provide a successful strategy.
15 Partially correct 1 ms 340 KB Failed to provide a successful strategy.
16 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
17 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
18 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
19 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
20 Partially correct 1 ms 340 KB Failed to provide a successful strategy.
21 Partially correct 1 ms 340 KB Failed to provide a successful strategy.
22 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
23 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
24 Partially correct 1 ms 340 KB Failed to provide a successful strategy.
25 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
26 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
27 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
28 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
29 Correct 0 ms 340 KB Output is correct
30 Partially correct 1 ms 340 KB Failed to provide a successful strategy.
31 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
32 Partially correct 1 ms 340 KB Failed to provide a successful strategy.
33 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
34 Correct 1 ms 312 KB Output is correct
35 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
36 Partially correct 1 ms 340 KB Failed to provide a successful strategy.
37 Partially correct 1 ms 340 KB Failed to provide a successful strategy.
38 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
39 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
40 Partially correct 1 ms 340 KB Failed to provide a successful strategy.
41 Partially correct 1 ms 340 KB Failed to provide a successful strategy.
42 Partially correct 1 ms 340 KB Failed to provide a successful strategy.
43 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
44 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
45 Correct 0 ms 340 KB Output is correct
46 Correct 0 ms 340 KB Output is correct
47 Correct 0 ms 340 KB Output is correct
48 Partially correct 1 ms 340 KB Failed to provide a successful strategy.
49 Correct 0 ms 340 KB Output is correct
50 Correct 1 ms 272 KB Output is correct
51 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
52 Correct 0 ms 340 KB Output is correct
53 Correct 0 ms 340 KB Output is correct
54 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
55 Correct 1 ms 340 KB Output is correct
56 Correct 1 ms 340 KB Output is correct
57 Correct 1 ms 340 KB Output is correct
58 Correct 0 ms 340 KB Output is correct
59 Correct 0 ms 340 KB Output is correct
60 Correct 0 ms 340 KB Output is correct
61 Correct 0 ms 340 KB Output is correct
62 Correct 0 ms 340 KB Output is correct
63 Correct 1 ms 340 KB Output is correct
64 Correct 0 ms 340 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 340 KB Output is correct
2 Correct 0 ms 340 KB Output is correct
3 Partially correct 1 ms 340 KB Provide a successful but not optimal strategy.
4 Partially correct 1 ms 340 KB Provide a successful but not optimal strategy.
5 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
6 Partially correct 1 ms 340 KB Failed to provide a successful strategy.
7 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
8 Partially correct 1 ms 340 KB Failed to provide a successful strategy.
9 Partially correct 1 ms 384 KB Failed to provide a successful strategy.
10 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
11 Partially correct 1 ms 468 KB Failed to provide a successful strategy.
12 Partially correct 1 ms 468 KB Failed to provide a successful strategy.
13 Partially correct 1 ms 468 KB Failed to provide a successful strategy.
14 Partially correct 1 ms 468 KB Failed to provide a successful strategy.
15 Partially correct 1 ms 468 KB Failed to provide a successful strategy.
16 Partially correct 2 ms 468 KB Failed to provide a successful strategy.
17 Partially correct 1 ms 468 KB Failed to provide a successful strategy.
18 Partially correct 2 ms 468 KB Failed to provide a successful strategy.
19 Partially correct 1 ms 468 KB Failed to provide a successful strategy.
20 Partially correct 1 ms 468 KB Failed to provide a successful strategy.
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB Output is correct
2 Correct 0 ms 340 KB Output is correct
3 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
4 Partially correct 1 ms 340 KB Failed to provide a successful strategy.
5 Partially correct 1 ms 340 KB Provide a successful but not optimal strategy.
6 Partially correct 0 ms 340 KB Provide a successful but not optimal strategy.
7 Correct 0 ms 340 KB Output is correct
8 Partially correct 1 ms 340 KB Failed to provide a successful strategy.
9 Correct 0 ms 340 KB Output is correct
10 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
11 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
12 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
13 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
14 Partially correct 1 ms 340 KB Failed to provide a successful strategy.
15 Partially correct 1 ms 340 KB Failed to provide a successful strategy.
16 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
17 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
18 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
19 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
20 Partially correct 1 ms 340 KB Failed to provide a successful strategy.
21 Partially correct 1 ms 340 KB Failed to provide a successful strategy.
22 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
23 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
24 Partially correct 1 ms 340 KB Failed to provide a successful strategy.
25 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
26 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
27 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
28 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
29 Correct 0 ms 340 KB Output is correct
30 Partially correct 1 ms 340 KB Failed to provide a successful strategy.
31 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
32 Partially correct 1 ms 340 KB Failed to provide a successful strategy.
33 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
34 Correct 1 ms 312 KB Output is correct
35 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
36 Partially correct 1 ms 340 KB Failed to provide a successful strategy.
37 Partially correct 1 ms 340 KB Failed to provide a successful strategy.
38 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
39 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
40 Partially correct 1 ms 340 KB Failed to provide a successful strategy.
41 Partially correct 1 ms 340 KB Failed to provide a successful strategy.
42 Partially correct 1 ms 340 KB Failed to provide a successful strategy.
43 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
44 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
45 Correct 0 ms 340 KB Output is correct
46 Correct 0 ms 340 KB Output is correct
47 Correct 0 ms 340 KB Output is correct
48 Partially correct 1 ms 340 KB Failed to provide a successful strategy.
49 Correct 0 ms 340 KB Output is correct
50 Correct 1 ms 272 KB Output is correct
51 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
52 Correct 0 ms 340 KB Output is correct
53 Correct 0 ms 340 KB Output is correct
54 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
55 Correct 1 ms 340 KB Output is correct
56 Correct 1 ms 340 KB Output is correct
57 Correct 1 ms 340 KB Output is correct
58 Correct 0 ms 340 KB Output is correct
59 Correct 0 ms 340 KB Output is correct
60 Correct 0 ms 340 KB Output is correct
61 Correct 0 ms 340 KB Output is correct
62 Correct 0 ms 340 KB Output is correct
63 Correct 1 ms 340 KB Output is correct
64 Correct 0 ms 340 KB Output is correct
65 Correct 1 ms 340 KB Output is correct
66 Correct 0 ms 340 KB Output is correct
67 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
68 Partially correct 1 ms 340 KB Failed to provide a successful strategy.
69 Partially correct 0 ms 340 KB Provide a successful but not optimal strategy.
70 Partially correct 0 ms 340 KB Provide a successful but not optimal strategy.
71 Correct 0 ms 340 KB Output is correct
72 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
73 Correct 0 ms 340 KB Output is correct
74 Partially correct 1 ms 340 KB Failed to provide a successful strategy.
75 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
76 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
77 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
78 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
79 Correct 1 ms 340 KB Output is correct
80 Correct 1 ms 340 KB Output is correct
81 Correct 1 ms 340 KB Output is correct
82 Correct 1 ms 340 KB Output is correct
83 Correct 1 ms 340 KB Output is correct
84 Correct 1 ms 340 KB Output is correct
85 Correct 1 ms 276 KB Output is correct
86 Correct 1 ms 340 KB Output is correct
87 Correct 1 ms 340 KB Output is correct
88 Correct 1 ms 340 KB Output is correct
89 Partially correct 1 ms 468 KB Failed to provide a successful strategy.
90 Partially correct 1 ms 468 KB Failed to provide a successful strategy.
91 Partially correct 1 ms 468 KB Failed to provide a successful strategy.
92 Partially correct 1 ms 468 KB Failed to provide a successful strategy.
93 Partially correct 1 ms 468 KB Failed to provide a successful strategy.
94 Partially correct 1 ms 468 KB Failed to provide a successful strategy.
95 Partially correct 1 ms 468 KB Failed to provide a successful strategy.
96 Partially correct 1 ms 468 KB Failed to provide a successful strategy.
97 Partially correct 1 ms 468 KB Failed to provide a successful strategy.
98 Partially correct 1 ms 468 KB Failed to provide a successful strategy.
99 Partially correct 1 ms 468 KB Failed to provide a successful strategy.
100 Partially correct 1 ms 468 KB Failed to provide a successful strategy.
101 Partially correct 1 ms 468 KB Failed to provide a successful strategy.
102 Partially correct 1 ms 468 KB Failed to provide a successful strategy.
103 Partially correct 1 ms 468 KB Failed to provide a successful strategy.
104 Partially correct 1 ms 468 KB Failed to provide a successful strategy.
105 Partially correct 2 ms 468 KB Failed to provide a successful strategy.
106 Partially correct 2 ms 468 KB Failed to provide a successful strategy.
107 Partially correct 1 ms 468 KB Failed to provide a successful strategy.
108 Partially correct 1 ms 468 KB Failed to provide a successful strategy.
109 Partially correct 1 ms 468 KB Failed to provide a successful strategy.
110 Partially correct 2 ms 468 KB Failed to provide a successful strategy.
111 Partially correct 1 ms 468 KB Failed to provide a successful strategy.
112 Partially correct 1 ms 468 KB Failed to provide a successful strategy.
113 Partially correct 1 ms 468 KB Failed to provide a successful strategy.
114 Partially correct 1 ms 468 KB Failed to provide a successful strategy.
115 Partially correct 1 ms 468 KB Failed to provide a successful strategy.
116 Partially correct 2 ms 468 KB Failed to provide a successful strategy.
117 Partially correct 1 ms 468 KB Failed to provide a successful strategy.
118 Partially correct 1 ms 468 KB Failed to provide a successful strategy.
119 Partially correct 1 ms 468 KB Failed to provide a successful strategy.
120 Partially correct 1 ms 468 KB Failed to provide a successful strategy.
121 Partially correct 1 ms 468 KB Failed to provide a successful strategy.
122 Partially correct 1 ms 468 KB Failed to provide a successful strategy.
123 Partially correct 1 ms 468 KB Failed to provide a successful strategy.
124 Partially correct 1 ms 468 KB Failed to provide a successful strategy.
125 Partially correct 1 ms 468 KB Failed to provide a successful strategy.
126 Partially correct 1 ms 468 KB Failed to provide a successful strategy.
127 Partially correct 1 ms 468 KB Failed to provide a successful strategy.
128 Partially correct 1 ms 468 KB Failed to provide a successful strategy.
129 Correct 1 ms 340 KB Output is correct
130 Correct 1 ms 340 KB Output is correct
131 Correct 1 ms 340 KB Output is correct
132 Correct 1 ms 340 KB Output is correct
133 Correct 1 ms 340 KB Output is correct
134 Correct 13 ms 1248 KB Output is correct
135 Correct 10 ms 1384 KB Output is correct
136 Correct 29 ms 3828 KB Output is correct
137 Correct 19 ms 2288 KB Output is correct
138 Correct 39 ms 2856 KB Output is correct
139 Correct 57 ms 4428 KB Output is correct
140 Correct 8 ms 980 KB Output is correct
141 Correct 4 ms 596 KB Output is correct
142 Correct 53 ms 4472 KB Output is correct
143 Correct 79 ms 4432 KB Output is correct
144 Partially correct 1 ms 468 KB Failed to provide a successful strategy.
145 Partially correct 1 ms 468 KB Failed to provide a successful strategy.