Submission #766705

#TimeUsernameProblemLanguageResultExecution timeMemory
766705t6twotwoSplit the Attractions (IOI19_split)C++17
11 / 100
59 ms12364 KiB
#include "split.h"
#include <bits/stdc++.h>
using namespace std;
vector<int> find_split(int n, int a, int b, int c, vector<int> p, vector<int> q) {
    int m = p.size();
    vector<vector<int>> adj(n);
    for (int i = 0; i < m; i++) {
        adj[p[i]].push_back(q[i]);
        adj[q[i]].push_back(p[i]);
    }
    if (a == 1) {
        vector<int> ans(n, 3);
        queue<int> q;
        q.push(0);
        ans[0] = 2;
        int cnt = 1;
        while (!q.empty()) {
            int x = q.front();
            q.pop();
            for (int y : adj[x]) {
                if (ans[y] == 3 && cnt < b) {
                    cnt++;
                    ans[y] = 2;
                    q.push(y);
                }
            }
        }
        for (int i = 0; i < n; i++) {
            if (ans[i] == 3) {
                ans[i] = 1;
                break;
            }
        }
        return ans;
    }
}

Compilation message (stderr)

split.cpp: In function 'std::vector<int> find_split(int, int, int, int, std::vector<int>, std::vector<int>)':
split.cpp:6:30: warning: control reaches end of non-void function [-Wreturn-type]
    6 |     vector<vector<int>> adj(n);
      |                              ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...