제출 #768530

#제출 시각아이디문제언어결과실행 시간메모리
768530TrumlingSplit the Attractions (IOI19_split)C++14
0 / 100
61 ms14252 KiB
#include "split.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; #define pb push_back #define F first #define S second #define enter cout<<'\n'; #define INF 99999999999999999 #define MOD 1000000007 #define all(x) x.begin(),x.end() int n,a,b,c; vector<int>p,q; vector<vector<int>>g; vector<int> res; vector<bool>vis; vector<int> find_split(int nn, int aa, int bb, int cc, vector<int> pp, vector<int> qq) { p=pp; q=qq; n=nn; a=aa; b=bb; c=cc; g.assign(n,vector<int>()); res.assign(n,0); vis.assign(n,0); ll m=p.size(); for(int i=0;i<m;i++) { g[p[i]].pb(q[i]); g[q[i]].pb(p[i]); } queue<int>q; q.push(0); ll count=1; while(!q.empty()) { ll curr=q.front(); q.pop(); vis[curr]=1; res[curr]=2; for(auto x:g[curr]) if(!vis[x] && count<bb) { q.push(x); count++; } } bool tf=0; for(int i=1;i<=n;i++) if(res[i]!=2 ) { if(tf) res[i]=3; else { res[i]=1; tf=1; } } 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...