#include "network.h"
#include <map>
using namespace std;
map<int,int> mp;
map<int,int>::iterator it,t1,t2;
bool check[1002];
void findRoute (int n, int a, int b)
{
int dist = ping(a, b);
int i,x,y,t;
mp[dist+1]=b;
check[dist+1]=1;
mp[0]=a;
check[0]=1;
for(i=1;i<=n;i++){
if(i==a || i==b) continue;
x=ping(a,i);
if(x >= dist) continue;
if(check[x+1]) continue;
mp[x+1]=i;
it=mp.find(x+1);
t1=it;
t1--;
t=ping(t1->second,i);
t2=it;
t2++;
y=ping(i,t2->second);
if(t+y+2 != t2->first - t1->first){
mp.erase(it);
}else{
check[x+1]=1;
}
}
for(it=(++mp.begin()); it!=mp.end(); it++){
travelTo(it->second);
}
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
120 ms |
5200 KB |
Output isn't correct - Too many calls to ping |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
101 ms |
5200 KB |
Output is correct |
2 |
Correct |
27 ms |
5200 KB |
Output is correct |
3 |
Correct |
153 ms |
5200 KB |
Output is correct |
4 |
Correct |
95 ms |
5200 KB |
Output is correct |
5 |
Correct |
121 ms |
5200 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
53 ms |
5200 KB |
Output is correct |
2 |
Correct |
33 ms |
5200 KB |
Output is correct |
3 |
Correct |
123 ms |
5200 KB |
Output is correct |
4 |
Correct |
91 ms |
5200 KB |
Output is correct |
5 |
Correct |
142 ms |
5200 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
112 ms |
5200 KB |
Output is correct |
2 |
Correct |
21 ms |
5200 KB |
Output is correct |
3 |
Incorrect |
119 ms |
5200 KB |
Output isn't correct - Too many calls to ping |
4 |
Halted |
0 ms |
0 KB |
- |