Submission #1203823

#TimeUsernameProblemLanguageResultExecution timeMemory
1203823AvianshSplit the Attractions (IOI19_split)C++20
7 / 100
52 ms14640 KiB
#include "split.h"
#include <bits/stdc++.h>

using namespace std;

vector<int>order;

void dfs(int st, vector<int>g[], bool vis[]){
    order.push_back(st);
    vis[st]=1;
    for(int i : g[st]){
        if(vis[i])
            continue;
        dfs(i,g,vis);
    }
}

vector<int> find_split(int n, int a, int b, int c, vector<int> p, vector<int> q) {
    vector<int>ans(n);
    vector<int>g[n];
    int m = p.size();
    for(int i = 0;i<m;i++){
        g[p[i]].push_back(q[i]);
        g[q[i]].push_back(p[i]);
    }
    order.clear();
    bool vis[n];
    fill(vis,vis+n,0);
    dfs(0,g,vis);
    for(int i = 0;i<a;i++){
        ans[order[i]]=1;
    }
    for(int i = a;i<a+b;i++){
        ans[order[i]]=2;
    }
    for(int i = a+b;i<n;i++){
        ans[order[i]]=3;
    }
    return ans;
}
#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...