Submission #217825

#TimeUsernameProblemLanguageResultExecution timeMemory
217825milagrosvilla1803Birmingham (COCI20_birmingham)C++11
70 / 70
116 ms15988 KiB
#include <bits/stdc++.h> using namespace std; int n,m,q,k; vector<int>ady[200005]; vector<int>d[100005]; int enterarse[100005]; int distancia[100005]; int aux; int x,y; queue<int> fila; short color[100005]; void bfs(){ while(!fila.empty()){ int nodoAct=fila.front(); fila.pop(); for(int i=0;i<ady[nodoAct].size();i++){ int hijo=ady[nodoAct][i]; if(color[hijo]==0){ color[hijo]=1; distancia[hijo]=distancia[nodoAct]+1; fila.push(hijo); } } color[nodoAct]=2; } } int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cin>>n>>m>>q>>k; memset(enterarse,-1,n); for(int i=0;i<q;i++){ cin>>aux; enterarse[aux]=0; fila.push(aux); color[aux]=1; distancia[aux]=0; } for(int i=0;i<m;i++){ cin>>x>>y; ady[x].push_back(y); ady[y].push_back(x); } bfs(); for(int i=1;i<=n;i++) d[distancia[i]].push_back(i); int adj=q,a=1,dia=1; int inicio=0; while(adj<n){ while(a<=inicio+k*dia){ for(int i=0;i<d[a].size();i++){ adj++; enterarse[d[a][i]]=dia; } a++; } inicio+=k*dia; dia++; } for(int i=1;i<=n;i++) cout<<enterarse[i]<<" "; return 0; }

Compilation message (stderr)

birmingham.cpp: In function 'void bfs()':
birmingham.cpp:15:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(int i=0;i<ady[nodoAct].size();i++){
                     ~^~~~~~~~~~~~~~~~~~~~
birmingham.cpp: In function 'int main()':
birmingham.cpp:50:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for(int i=0;i<d[a].size();i++){
                         ~^~~~~~~~~~~~
#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...
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...