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"
int Ans[1001], Dist;
int findBottom(int x)
{
int i;
for(i=x ; i>=0 ; i--)
if(Ans[i])
return i;
return 0;
}
int findTop(int x)
{
int i;
for(i=x ; i<=Dist+1 ; i++)
if(Ans[i])
return i;
return 0;
}
void findRoute (int N, int a, int b)
{
int i, x, y, c, d;
Dist=ping(a,b);
Ans[0]=a;
Ans[Dist+1]=b;
for(i=1 ; i<=N ; i++)
if(i!=a && i!=b)
{
x=ping(a,i);
y=ping(i,b);
if(Dist==x+y+1 && Ans[x+1]==0)
{
c=findBottom(x);
d=findTop(x+2);
if(x-c==ping(Ans[c],i) && d-x-2==ping(i,Ans[d]))
Ans[x+1]=i;
}
}
for(i=1 ; i<=Dist+1 ; i++)
travelTo(Ans[i]);
}
# | 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... |