Submission #494427

#TimeUsernameProblemLanguageResultExecution timeMemory
494427KhizriKeys (IOI21_keys)C++17
0 / 100
1 ms460 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define pii pair<int,int> #define pb push_back #define F first #define S second const int mxn=2000+5; int n,m; vector<pii>vt[mxn]; int bfs(int u,vector<int> &r){ vector<int>v1,arr; vector<int>color(mxn); vector<int>mp(mxn); color[u]=1; bool q=true; v1.pb(u); arr.pb(r[u]); mp[r[u]]=1; while(q){ q=false; for(int x:v1){ for(pii p:vt[x]){ int v=p.F,k=p.S; if(color[v]) continue; if(mp[k]){ mp[r[v]]=1; arr.pb(r[v]); v1.pb(v); color[v]=1; q=true; //goto loop; } } } //loop:; } return (int)v1.size(); } vector<int> find_reachable(vector<int> r,vector<int> u,vector<int> v,vector<int> c) { n=r.size(); m=u.size(); for(int i=0;i<m;i++){ vt[u[i]].pb({v[i],c[i]}); vt[v[i]].pb({u[i],c[i]}); } int cnt=1e7; vector<int>ans; for(int i=0;i<n;i++){ int x=bfs(i,r); cnt=min(x,cnt); ans.pb(x); } for(int i=0;i<n;i++){ if(ans[i]==cnt){ ans[i]=1; } else{ ans[i]=0; } } 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...