# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
151875 | Ruxandra985 | 컴퓨터 네트워크 (BOI14_network) | C++14 | 0 ms | 0 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <cstdio>
#include "network.h"
void findRoute (int n,int a,int b){
int da[n+1],f[n+1],tt[n+1],sol[n+1];
deque <int> dq;
int i,curr,elem;
for (i=1;i<=n;i++){
if (i!=a)
da[i] = ping (a,i);
f[i] = 0;
tt[i] = 0;
}
da[a] = -1;
curr = a;
dq.push_back(a);
f[a] = 1;
while (!dq.empty()){
curr = dq.front();
dq.pop_front();
for (i=1;i<=n;i++){
if (i!=curr && !f[i] && da[i] == da[curr] + 1 && ping(curr,i) == 0){
tt[i] = curr;
f[i] = 1;
dq.push_back(i);
}
}
}
curr = b;
elem = 0;
while (curr){
sol[++elem] = curr;
curr = tt[curr];
}
for (i=elem-1;i;i--)
travelTo(sol[i]);
}