//Sani buyuk Osman Pasa Plevneden cikmam diyor.
//FatihSultanMehmedHan
//Abdulhamid Han
//Bismillahirrahmanirrahim
//█▀█─█──█──█▀█─█─█
//█▄█─█──█──█▄█─█▄█
//█─█─█▄─█▄─█─█─█─█
#pragma GCC optimize ("O3")
#pragma GCC target ("sse4")
#include <bits/stdc++.h>
using namespace std;
typedef long long lo;
typedef pair< lo,lo > PII;
#define fi first
#define se second
#define mp make_pair
#define pb push_back
#define fio() ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL)
#define FOR for(int i=1;i<=n;i++)
#define mid ((start+end)/2)
#define ort ((bas+son)/2)
const lo MAX = -1000000000000000000;
const lo MIN = 1000000000000000000;
const lo inf = 1000000000;
const lo KOK = 100000;
const lo LOG = 30;
const lo li = 500005;
const lo mod = 1000000007;
int m,b[li],a[li],k,flag,t,vis[li],bb,say;
int cev;
string s;
vector<int> v[li];
vector<int> vv;
inline void dfs(int node,int der){
if(vis[node]==1)return ;
if(say==bb)return ;
for(int i=0;i<(int)v[node].size();i++){
int go=v[node][i];
dfs(go,der+1);
}
say++;
vis[node]=1;
}
vector<int> find_split(int n, int a, int b, int c, vector<int> p, vector<int> q) {
bb=b;
for(int i=0;i<(int)p.size();i++){
v[q[i]].pb(p[i]);
v[p[i]].pb(q[i]);
}
dfs(0,0);
for(int i=0;i<n;i++){
if(vis[i]==1){vv.pb(2);}
else if(a>0){a--;vv.pb(1);}
else vv.pb(3);
}
return vv;
}
int main() {
int n, m, a, b, c;
assert(5 == scanf("%d%d%d%d%d", &n, &m, &a, &b, &c));
vector<int> p(m), q(m);
for (int i=0; i<m; i++)
assert(2 == scanf("%d%d", &p[i], &q[i]));
fclose(stdin);
vector<int> result = find_split(n, a, b, c, p, q);
for (int i=0; i<(int)result.size(); i++)
printf("%s%d", ((i>0)?" ":""), result[i]);
printf("\n");
fclose(stdout);
return 0;
}
Compilation message
/tmp/ccmqlYDv.o: In function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'
/tmp/cc9oJsoc.o:split.cpp:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status