#include "split.h"
#include <bits/stdc++.h>
using namespace std;
const int MAXN=1e5+10, MAXM=2e5+10;
vector<int>v[MAXN], ord, marc(MAXN);
void dfs(int x){
marc[x]=1;
ord.push_back(x);
for(int k=0;k<v[x].size();k++){
if(marc[v[x][k]]==0){
dfs(v[x][k]);
}
}
}
vector<int> find_split(int n, int a, int b, int c, vector<int>n1, vector<int>n2){
int m=n1.size();
vector<int>resp(n);
for(int k=0;k<m;k++){
v[n1[k]].push_back(n2[k]);
v[n2[k]].push_back(n1[k]);
}
dfs(0);
for(int k=0;k<a;k++){
resp[ord[k]]=1;
}
for(int k=a;k<a+b;k++){
resp[ord[k]]=2;
}
for(int k=a+b;k<n;k++){
resp[ord[k]]=3;
}
return resp;
}
/*int main()
{
int n, m, a, b, c;
cin>>n>>m>>a>>b>>c;
vector<int>n1(m), n2(m);
for(int k=0;k<m;k++){
cin>>n1[k];
}
for(int k=0;k<m;k++){
cin>>n2[k];
}
vector<int>resp=find_split(n, a, b, c, n1, n2);
for(int k=0;k<n;k++){
cout<<resp[k]<<' ';
}
return 0;
}*/
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |