Submission #800015

# Submission time Handle Problem Language Result Execution time Memory
800015 2023-08-01T09:21:50 Z Johann Newspapers (CEOI21_newspapers) C++14
52 / 100
62 ms 732 KB
#include "bits/stdc++.h"
using namespace std;

typedef long long ll;
typedef vector<int> vi;
typedef vector<vi> vvi;
#define sz(x) (int)(x).size()
#define all(x) (x).begin(), (x).end()

int N, M;
vvi adj;
vvi adj2;
bool possible;
vi cnt[2];
vvi CNT[2];
vi ans;
vi bw;
vi BW[2];
bool usable;

void dfsBW(int v, int p)
{
    bw[v] = !bw[p];
    BW[bw[v]].push_back(v);
    for (int u : adj[v])
        if (u != p)
            dfsBW(u, v);
}

void dfs(int v, int p)
{
    cnt[0][v] = 1;
    cnt[1][v] = 0;
    for (int u : adj[v])
        if (u != p)
        {
            dfs(u, v);
            cnt[0][v] += cnt[1][u];
            cnt[1][v] += cnt[0][u];
        }
}

void dfsAns(int v, int p)
{
    ans.push_back(v); // safe besuchen

    vi todo;
    for (int u : adj2[v])
        if (u != p)
            todo.push_back(u);

    dfs(v, v);

    if (sz(todo) <= 1)
    {
        for (int u : adj[v])
            if (u != p && (todo.empty() || u != todo[0]) && cnt[1][u] > 0)
            {
                assert(cnt[0][u] == 1);
                ans.push_back(u);
                ans.push_back(v);
            }
        if (sz(todo) == 1)
        {
            dfsAns(todo[0], v);
        }
    }
    else
    {
        // must be 2
        usable = false;
        // assert(false);
    }
}

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

    cin >> N >> M;
    if (M > N - 1)
    {
        cout << "NO\n";
        return 0;
    }

    adj.resize(N);
    for (int i = 0, a, b; i < M; ++i)
    {
        cin >> a >> b;
        --a, --b;
        adj[a].push_back(b), adj[b].push_back(a);
    }

    bw.assign(N, 0);
    dfsBW(0, 0);

    adj2.resize(N);
    possible = true;
    cnt[0].resize(N), cnt[1].resize(N);
    for (int v = 0; v < N; ++v)
    {
        dfs(v, v);
        for (int u : adj[v])
            if (cnt[0][u] >= 2)
                adj2[v].push_back(u);
        if (sz(adj2[v]) > 2)
            possible = false;
    }

    if (possible)
    {
        cout << "YES\n";

        int color = 0;
        if (sz(BW[!color]) < sz(BW[color]))
            color = !color;
        if (BW[color].empty())
        {
            ans.push_back(0);
        }
        else
        {
            vi finalAns;
            for (int v = 0; v < N; ++v)
            {
                if (sz(adj2[v]) <= 1)
                {
                    usable = true;
                    ans.clear();
                    dfsAns(v, v);
                    if (usable && (finalAns.empty() || sz(finalAns) > sz(ans)))
                        swap(finalAns, ans);
                }
            }

            int n = sz(ans);
            for (int i = n - 1; i >= 0; --i)
                ans.push_back(ans[i]);
        }

        cout << sz(ans) << '\n';
        for (int x : ans)
            cout << x + 1 << " ";
        cout << '\n';
    }
    else
        cout << "NO\n";

    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Partially correct 0 ms 212 KB Provide a successful but not optimal strategy.
4 Partially correct 0 ms 212 KB Provide a successful but not optimal strategy.
5 Partially correct 0 ms 212 KB Provide a successful but not optimal strategy.
6 Partially correct 0 ms 212 KB Provide a successful but not optimal strategy.
7 Correct 1 ms 340 KB Output is correct
8 Partially correct 1 ms 212 KB Provide a successful but not optimal strategy.
9 Correct 1 ms 212 KB Output is correct
10 Partially correct 0 ms 324 KB Failed to provide a successful strategy.
11 Partially correct 0 ms 212 KB Failed to provide a successful strategy.
12 Partially correct 1 ms 212 KB Provide a successful but not optimal strategy.
13 Partially correct 0 ms 212 KB Provide a successful but not optimal strategy.
14 Partially correct 0 ms 212 KB Provide a successful but not optimal strategy.
15 Partially correct 1 ms 316 KB Provide a successful but not optimal strategy.
16 Partially correct 0 ms 212 KB Failed to provide a successful strategy.
17 Partially correct 0 ms 212 KB Provide a successful but not optimal strategy.
18 Partially correct 1 ms 212 KB Failed to provide a successful strategy.
19 Partially correct 1 ms 316 KB Provide a successful but not optimal strategy.
20 Partially correct 1 ms 212 KB Provide a successful but not optimal strategy.
21 Partially correct 0 ms 212 KB Failed to provide a successful strategy.
22 Partially correct 1 ms 212 KB Provide a successful but not optimal strategy.
23 Partially correct 1 ms 212 KB Provide a successful but not optimal strategy.
24 Partially correct 1 ms 320 KB Provide a successful but not optimal strategy.
25 Partially correct 0 ms 212 KB Provide a successful but not optimal strategy.
26 Partially correct 0 ms 212 KB Failed to provide a successful strategy.
27 Partially correct 0 ms 316 KB Provide a successful but not optimal strategy.
28 Partially correct 1 ms 212 KB Provide a successful but not optimal strategy.
29 Correct 1 ms 212 KB Output is correct
30 Partially correct 1 ms 212 KB Provide a successful but not optimal strategy.
31 Partially correct 1 ms 212 KB Provide a successful but not optimal strategy.
32 Partially correct 1 ms 212 KB Failed to provide a successful strategy.
33 Partially correct 0 ms 212 KB Provide a successful but not optimal strategy.
34 Correct 0 ms 212 KB Output is correct
35 Partially correct 0 ms 212 KB Provide a successful but not optimal strategy.
36 Partially correct 1 ms 212 KB Failed to provide a successful strategy.
37 Partially correct 0 ms 212 KB Provide a successful but not optimal strategy.
38 Partially correct 0 ms 212 KB Failed to provide a successful strategy.
39 Partially correct 0 ms 212 KB Failed to provide a successful strategy.
40 Partially correct 0 ms 212 KB Provide a successful but not optimal strategy.
41 Partially correct 0 ms 212 KB Provide a successful but not optimal strategy.
42 Partially correct 0 ms 212 KB Provide a successful but not optimal strategy.
43 Partially correct 0 ms 212 KB Failed to provide a successful strategy.
44 Partially correct 0 ms 212 KB Failed to provide a successful strategy.
45 Correct 1 ms 212 KB Output is correct
46 Correct 0 ms 212 KB Output is correct
47 Correct 1 ms 212 KB Output is correct
48 Partially correct 1 ms 212 KB Provide a successful but not optimal strategy.
49 Correct 1 ms 212 KB Output is correct
50 Correct 1 ms 212 KB Output is correct
51 Partially correct 1 ms 212 KB Failed to provide a successful strategy.
52 Correct 0 ms 212 KB Output is correct
53 Correct 0 ms 212 KB Output is correct
54 Partially correct 0 ms 320 KB Failed to provide a successful strategy.
55 Correct 0 ms 212 KB Output is correct
56 Correct 1 ms 212 KB Output is correct
57 Correct 0 ms 212 KB Output is correct
58 Correct 0 ms 320 KB Output is correct
59 Correct 0 ms 212 KB Output is correct
60 Correct 0 ms 212 KB Output is correct
61 Correct 1 ms 212 KB Output is correct
62 Correct 0 ms 212 KB Output is correct
63 Correct 0 ms 316 KB Output is correct
64 Correct 1 ms 324 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 312 KB Output is correct
2 Correct 0 ms 340 KB Output is correct
3 Partially correct 0 ms 212 KB Provide a successful but not optimal strategy.
4 Partially correct 0 ms 212 KB Provide a successful but not optimal strategy.
5 Partially correct 0 ms 212 KB Provide a successful but not optimal strategy.
6 Partially correct 0 ms 212 KB Provide a successful but not optimal strategy.
7 Partially correct 1 ms 212 KB Provide a successful but not optimal strategy.
8 Partially correct 0 ms 212 KB Provide a successful but not optimal strategy.
9 Partially correct 1 ms 212 KB Provide a successful but not optimal strategy.
10 Partially correct 0 ms 212 KB Provide a successful but not optimal strategy.
11 Partially correct 49 ms 628 KB Provide a successful but not optimal strategy.
12 Partially correct 15 ms 468 KB Provide a successful but not optimal strategy.
13 Partially correct 21 ms 536 KB Provide a successful but not optimal strategy.
14 Partially correct 23 ms 456 KB Provide a successful but not optimal strategy.
15 Partially correct 28 ms 452 KB Provide a successful but not optimal strategy.
16 Partially correct 57 ms 732 KB Provide a successful but not optimal strategy.
17 Partially correct 54 ms 648 KB Provide a successful but not optimal strategy.
18 Partially correct 54 ms 644 KB Provide a successful but not optimal strategy.
19 Partially correct 54 ms 596 KB Provide a successful but not optimal strategy.
20 Partially correct 55 ms 632 KB Provide a successful but not optimal strategy.
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Partially correct 0 ms 212 KB Provide a successful but not optimal strategy.
4 Partially correct 0 ms 212 KB Provide a successful but not optimal strategy.
5 Partially correct 0 ms 212 KB Provide a successful but not optimal strategy.
6 Partially correct 0 ms 212 KB Provide a successful but not optimal strategy.
7 Correct 1 ms 340 KB Output is correct
8 Partially correct 1 ms 212 KB Provide a successful but not optimal strategy.
9 Correct 1 ms 212 KB Output is correct
10 Partially correct 0 ms 324 KB Failed to provide a successful strategy.
11 Partially correct 0 ms 212 KB Failed to provide a successful strategy.
12 Partially correct 1 ms 212 KB Provide a successful but not optimal strategy.
13 Partially correct 0 ms 212 KB Provide a successful but not optimal strategy.
14 Partially correct 0 ms 212 KB Provide a successful but not optimal strategy.
15 Partially correct 1 ms 316 KB Provide a successful but not optimal strategy.
16 Partially correct 0 ms 212 KB Failed to provide a successful strategy.
17 Partially correct 0 ms 212 KB Provide a successful but not optimal strategy.
18 Partially correct 1 ms 212 KB Failed to provide a successful strategy.
19 Partially correct 1 ms 316 KB Provide a successful but not optimal strategy.
20 Partially correct 1 ms 212 KB Provide a successful but not optimal strategy.
21 Partially correct 0 ms 212 KB Failed to provide a successful strategy.
22 Partially correct 1 ms 212 KB Provide a successful but not optimal strategy.
23 Partially correct 1 ms 212 KB Provide a successful but not optimal strategy.
24 Partially correct 1 ms 320 KB Provide a successful but not optimal strategy.
25 Partially correct 0 ms 212 KB Provide a successful but not optimal strategy.
26 Partially correct 0 ms 212 KB Failed to provide a successful strategy.
27 Partially correct 0 ms 316 KB Provide a successful but not optimal strategy.
28 Partially correct 1 ms 212 KB Provide a successful but not optimal strategy.
29 Correct 1 ms 212 KB Output is correct
30 Partially correct 1 ms 212 KB Provide a successful but not optimal strategy.
31 Partially correct 1 ms 212 KB Provide a successful but not optimal strategy.
32 Partially correct 1 ms 212 KB Failed to provide a successful strategy.
33 Partially correct 0 ms 212 KB Provide a successful but not optimal strategy.
34 Correct 0 ms 212 KB Output is correct
35 Partially correct 0 ms 212 KB Provide a successful but not optimal strategy.
36 Partially correct 1 ms 212 KB Failed to provide a successful strategy.
37 Partially correct 0 ms 212 KB Provide a successful but not optimal strategy.
38 Partially correct 0 ms 212 KB Failed to provide a successful strategy.
39 Partially correct 0 ms 212 KB Failed to provide a successful strategy.
40 Partially correct 0 ms 212 KB Provide a successful but not optimal strategy.
41 Partially correct 0 ms 212 KB Provide a successful but not optimal strategy.
42 Partially correct 0 ms 212 KB Provide a successful but not optimal strategy.
43 Partially correct 0 ms 212 KB Failed to provide a successful strategy.
44 Partially correct 0 ms 212 KB Failed to provide a successful strategy.
45 Correct 1 ms 212 KB Output is correct
46 Correct 0 ms 212 KB Output is correct
47 Correct 1 ms 212 KB Output is correct
48 Partially correct 1 ms 212 KB Provide a successful but not optimal strategy.
49 Correct 1 ms 212 KB Output is correct
50 Correct 1 ms 212 KB Output is correct
51 Partially correct 1 ms 212 KB Failed to provide a successful strategy.
52 Correct 0 ms 212 KB Output is correct
53 Correct 0 ms 212 KB Output is correct
54 Partially correct 0 ms 320 KB Failed to provide a successful strategy.
55 Correct 0 ms 212 KB Output is correct
56 Correct 1 ms 212 KB Output is correct
57 Correct 0 ms 212 KB Output is correct
58 Correct 0 ms 320 KB Output is correct
59 Correct 0 ms 212 KB Output is correct
60 Correct 0 ms 212 KB Output is correct
61 Correct 1 ms 212 KB Output is correct
62 Correct 0 ms 212 KB Output is correct
63 Correct 0 ms 316 KB Output is correct
64 Correct 1 ms 324 KB Output is correct
65 Correct 1 ms 316 KB Output is correct
66 Correct 1 ms 212 KB Output is correct
67 Partially correct 0 ms 256 KB Provide a successful but not optimal strategy.
68 Partially correct 0 ms 212 KB Provide a successful but not optimal strategy.
69 Partially correct 1 ms 212 KB Provide a successful but not optimal strategy.
70 Partially correct 0 ms 212 KB Provide a successful but not optimal strategy.
71 Correct 0 ms 212 KB Output is correct
72 Partially correct 0 ms 212 KB Provide a successful but not optimal strategy.
73 Correct 1 ms 212 KB Output is correct
74 Partially correct 0 ms 212 KB Failed to provide a successful strategy.
75 Partially correct 0 ms 212 KB Failed to provide a successful strategy.
76 Partially correct 0 ms 212 KB Provide a successful but not optimal strategy.
77 Partially correct 0 ms 212 KB Provide a successful but not optimal strategy.
78 Partially correct 0 ms 320 KB Provide a successful but not optimal strategy.
79 Correct 5 ms 340 KB Output is correct
80 Correct 5 ms 340 KB Output is correct
81 Correct 6 ms 340 KB Output is correct
82 Correct 8 ms 340 KB Output is correct
83 Correct 6 ms 340 KB Output is correct
84 Correct 6 ms 340 KB Output is correct
85 Correct 6 ms 340 KB Output is correct
86 Correct 6 ms 340 KB Output is correct
87 Correct 6 ms 436 KB Output is correct
88 Correct 5 ms 340 KB Output is correct
89 Partially correct 49 ms 532 KB Provide a successful but not optimal strategy.
90 Partially correct 31 ms 468 KB Failed to provide a successful strategy.
91 Partially correct 41 ms 468 KB Failed to provide a successful strategy.
92 Partially correct 31 ms 484 KB Failed to provide a successful strategy.
93 Partially correct 39 ms 476 KB Failed to provide a successful strategy.
94 Partially correct 36 ms 468 KB Failed to provide a successful strategy.
95 Partially correct 62 ms 560 KB Provide a successful but not optimal strategy.
96 Partially correct 62 ms 560 KB Provide a successful but not optimal strategy.
97 Partially correct 40 ms 484 KB Failed to provide a successful strategy.
98 Partially correct 47 ms 476 KB Provide a successful but not optimal strategy.
99 Partially correct 37 ms 524 KB Provide a successful but not optimal strategy.
100 Partially correct 41 ms 516 KB Failed to provide a successful strategy.
101 Partially correct 33 ms 588 KB Provide a successful but not optimal strategy.
102 Partially correct 33 ms 468 KB Failed to provide a successful strategy.
103 Partially correct 33 ms 488 KB Failed to provide a successful strategy.
104 Partially correct 26 ms 468 KB Provide a successful but not optimal strategy.
105 Partially correct 32 ms 472 KB Failed to provide a successful strategy.
106 Partially correct 38 ms 540 KB Provide a successful but not optimal strategy.
107 Partially correct 36 ms 468 KB Provide a successful but not optimal strategy.
108 Partially correct 45 ms 596 KB Provide a successful but not optimal strategy.
109 Partially correct 43 ms 468 KB Failed to provide a successful strategy.
110 Partially correct 42 ms 508 KB Provide a successful but not optimal strategy.
111 Partially correct 46 ms 492 KB Failed to provide a successful strategy.
112 Partially correct 34 ms 468 KB Failed to provide a successful strategy.
113 Partially correct 53 ms 468 KB Provide a successful but not optimal strategy.
114 Partially correct 39 ms 468 KB Provide a successful but not optimal strategy.
115 Partially correct 28 ms 504 KB Failed to provide a successful strategy.
116 Partially correct 50 ms 516 KB Provide a successful but not optimal strategy.
117 Partially correct 46 ms 476 KB Failed to provide a successful strategy.
118 Partially correct 58 ms 524 KB Failed to provide a successful strategy.
119 Partially correct 40 ms 464 KB Failed to provide a successful strategy.
120 Partially correct 50 ms 460 KB Provide a successful but not optimal strategy.
121 Partially correct 38 ms 536 KB Provide a successful but not optimal strategy.
122 Partially correct 32 ms 528 KB Failed to provide a successful strategy.
123 Partially correct 25 ms 460 KB Provide a successful but not optimal strategy.
124 Partially correct 39 ms 556 KB Provide a successful but not optimal strategy.
125 Partially correct 36 ms 488 KB Provide a successful but not optimal strategy.
126 Partially correct 32 ms 452 KB Provide a successful but not optimal strategy.
127 Partially correct 43 ms 492 KB Provide a successful but not optimal strategy.
128 Partially correct 43 ms 468 KB Failed to provide a successful strategy.
129 Correct 8 ms 452 KB Output is correct
130 Correct 8 ms 340 KB Output is correct
131 Correct 8 ms 444 KB Output is correct
132 Correct 8 ms 456 KB Output is correct
133 Correct 8 ms 340 KB Output is correct
134 Correct 1 ms 340 KB Output is correct
135 Correct 0 ms 340 KB Output is correct
136 Correct 1 ms 340 KB Output is correct
137 Correct 1 ms 340 KB Output is correct
138 Correct 1 ms 340 KB Output is correct
139 Correct 1 ms 340 KB Output is correct
140 Correct 0 ms 340 KB Output is correct
141 Correct 1 ms 340 KB Output is correct
142 Correct 0 ms 328 KB Output is correct
143 Correct 1 ms 340 KB Output is correct
144 Partially correct 54 ms 596 KB Provide a successful but not optimal strategy.
145 Partially correct 55 ms 656 KB Provide a successful but not optimal strategy.