This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#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);
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |