답안 #217823

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
217823 2020-03-30T22:33:11 Z milagrosvilla1803 Birmingham (COCI20_birmingham) C++11
15 / 70
111 ms 15764 KB
#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++;
        }
        dia++;
        inicio+=k*dia;
    }
    for(int i=1;i<=n;i++)
        cout<<enterarse[i]<<" ";
    return 0;
}

Compilation message

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++){
                         ~^~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Incorrect 8 ms 7424 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 8 ms 7424 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 8 ms 7424 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 8 ms 7424 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 8 ms 7424 KB Output is correct
2 Correct 9 ms 7424 KB Output is correct
3 Correct 9 ms 7424 KB Output is correct
4 Correct 8 ms 7424 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 8 ms 7424 KB Output is correct
2 Correct 8 ms 7424 KB Output is correct
3 Correct 8 ms 7424 KB Output is correct
4 Correct 8 ms 7424 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 8 ms 7424 KB Output is correct
2 Correct 9 ms 7424 KB Output is correct
3 Correct 9 ms 7424 KB Output is correct
4 Correct 9 ms 7424 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 111 ms 13300 KB Output is correct
2 Incorrect 104 ms 15600 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 108 ms 13360 KB Output is correct
2 Incorrect 107 ms 15368 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 110 ms 13192 KB Output is correct
2 Incorrect 105 ms 15764 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 87 ms 13048 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 91 ms 13044 KB Output is correct
2 Incorrect 98 ms 15236 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 86 ms 13048 KB Output is correct
2 Incorrect 111 ms 15288 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 96 ms 13144 KB Output is correct
2 Incorrect 93 ms 14840 KB Output isn't correct
3 Halted 0 ms 0 KB -