제출 #722858

#제출 시각아이디문제언어결과실행 시간메모리
722858Darren0724Split the Attractions (IOI19_split)C++17
11 / 100
83 ms12772 KiB
#include "split.h"
#include<bits/stdc++.h>
//#include "grader.cpp"
using namespace std;

vector<int> find_split(int n, int a, int b, int c, vector<int> p, vector<int> q1) {
	vector<int> res(n);
    int m=p.size();
    vector<int> adj[n];
    for(int i=0;i<m;i++){
        adj[p[i]].push_back(q1[i]);
        adj[q1[i]].push_back(p[i]);
    }
    queue<int> q;
    q.push(0);
    int cnt=0;
    vector<int> vis(n);
    vis[0]=1;
    while(q.size()&&cnt<b){
        int p=q.front();
        q.pop();
        cnt++;
        res[p]=2;
        for(int j:adj[p]){
            if(vis[j]==0){
                vis[j]=1;
                q.push(j);
            }
        }
    }
    for(int i=0;i<n;i++){
        if(res[i]==0){
            res[i]=1;
            break;
        }
    }
    for(int i=0;i<n;i++){
        if(res[i]==0){
            res[i]=3;
        }
    }

	return res;
}
#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...