Submission #1246830

#TimeUsernameProblemLanguageResultExecution timeMemory
1246830firegirlwaterboyBurza (COCI16_burza)C++20
Compilation error
0 ms0 KiB
#include <bits/stdc++.h>

using namespace std;
typedef long long ll;
typedef pair<int, int> pii;

int n, k;
map<int, int> lost;
vector<vector<int>> adj, cutoff, depth;

void dfs(int u, int p, int d) {
    depth[d].push_back(u);
    if (d == k) {
        lost[u] = lost.size();
        cutoff[u] = {u};
        return;
    }
    for (int v : adj[u]) {
        if (v == p) continue;
        dfs(v, u, d + 1);
        cutoff[u].insert(cutoff[u].end(), cutoff[v].begin(), cutoff[v].end());
    }
};

int main() {
    cin >> n >> k;
    adj.resize(n), cutoff.resize(n), depth.resize(k + 1);
    for (int i = 0; i < n - 1; i++) {
        int u, v;
        cin >> u >> v;
        u--, v--;
        adj[u].push_back(v), adj[v].push_back(u);
    }
    if (k * k >= n) {
        cout << "DA\n";
        return;
    }
    dfs(0, 0, 0);
    vector<pii> inter;
    for (vector<int> &cc : cutoff) {
        if (!cc.size()) {
            inter.push_back({-1, -1});
        } else {
            inter.push_back({lost[cc.front()] + 1, lost[cc.back()] + 1});
        }
    }
    vector<int> dp(1 << k);
    dp[0] = 0;
    for (int mask = 1; mask < (1 << k); mask++) {
        int &curr = dp[mask];
        for (int nxt = 0; nxt < k; nxt++) {
            if (mask & (1 << nxt)) {
                int pre = dp[mask & ~(1 << nxt)];
                for (int n : depth[nxt + 1]) {
                    if (inter[n].first <= pre + 1) {
                        curr = max(curr, inter[n].second);
                    }
                }
            }
        }
        if (dp[mask] == lost.size()) {
            cout << "DA\n";
            return;
        }
    }
    cout << "NE\n";
}

Compilation message (stderr)

burza.cpp: In function 'int main()':
burza.cpp:36:9: error: return-statement with no value, in function returning 'int' [-fpermissive]
   36 |         return;
      |         ^~~~~~
burza.cpp:63:13: error: return-statement with no value, in function returning 'int' [-fpermissive]
   63 |             return;
      |             ^~~~~~